① c语言 输入一个正整数n,输出n的所有因子
1、定义整型变量,用于程序的运算。
② 设计一个算法,输入一个正整数,求出它的所有正因数.
任意给定一个大于1的正整数n,设计一个算法求出n的所有因数?
程序如下(c):
main()
{
int
n,n;
scanf("%d",&n);
printf("n's
factors
are:\n");
for(n=1;n<=n;n
)
if(n%n==0)
printf("%d\t",n);
}
③ c语言将一个正整数分解质因数,望高手帮我详细解释一下程序
1、首先打开vc6.0, 新建一个vc项目,添加头文件。
④ 用C语言编一个程序:任意给定一个大于1的正整数,求它的所有因数
#include <stdio.h> #include <math.h> int main(int argc, char *argv[]) { int number,i=1; printf("请输入一个整数:\n"); scanf("%d",&number); printf("它的因数是:\n"); while(i<(sqrt(number)+1)) { if((number%i)==0) { printf("%4d,",i); if((number/i)!=i) { printf("%4d,",(number/i)); } } i++; } return 0; }
⑤ C语言,输入任意正整数,求出其所有因子显示出来
//
实现输入任意整数,输出所有因子
#include
#include
//数学函数头文件
int
main()
{
int
m,
i;
printf("请你输入一个正整数:\n");
scanf_s("%d",
&m);
printf("%d
的因子有:\n",
m);
printf("1,
");
for
(i
=
2;
i
<=
m/2;
i++)
{
if
(m
%
i
==
0)
{
printf("%d,
",
i);
}
}
printf("%d!",
m);
getchar();
getchar();
return
0;
}
⑥ 设计一个算法,输入一个正整数,求出它的所有正因数。
//基础版
voidprintYinShu(intnum){
for(inti=1;i<=num;i++){
if(num%i==0){
printf("%d,",i);
}
}
printf(" ");
}
我写的只是简单的打印出来。如果需要保存这些因数进行下一步操作你就自己写一点吧。
另外,有个简单的效率优化。
程序代码改成
#include<stdio.h>
#include<math.h>
voidprintYinShu(intnum){
intend=pow(num,0.5);
for(inti=1;i<=end;i++){
if(num%i==0){
printf("%d,%d,",i,num/i);
}
}
printf(" ");
}
voidmain()
{
printf("输入正整数获得所有正因数 ");
while(true){
intnum=0;
scanf("%d",&num);
printYinShu(num);
}
}
即可减少一半的循环量。但是如果直接用作输出就不那么美观了。
⑦ 求一个整数的因数和 的C语言程序代码
C语言实现,参考代码如下:
#include<stdio.h>
intmain()
{
intn,i,sum=0;
scanf("%d",&n);
if(n<1)return0;
for(i=1;i<=n;++i)
if(n%i==0)
sum+=i;
printf("因数之和为%d",sum);
return0;
}
⑧ 如何用 C语言 输出一个整数的因子
假如整数n除以m,结果是无余数的整数,那么我们称m就是n的因子。 需要注意的是,唯有被除数,除数,商皆为整数,余数为零时,此关系才成立。反过来说,我们称n为m的倍数 。
如果利用C语言求一个整数n的因子,可以从1开始到n,依次加1,如果它是n的的因子,则输出。
具体的源码实现如下:
#include<stdio.h>
#include<stdlib.h>
intmain(intargc,char*argv[])
{
intn;
while(scanf("%d",&n)!=EOF)
{
if(n<1)break;
inti;
for(i=1;i<=n;i++)
{
if(n%i==0)
printf("%d",i);
}
printf(" ");
}
return0;
}
编译运行后的结果:
⑨ 用C语言编写一个函数factors,求出一个正整数的所有因子。
#include
#include
//数学函数头文件
main()
{
int
m,i,k=0;
printf("请你输入一个正整数:\n");
scanf("%d",&m);
printf("%d
的因子有:\n",m);
for(i=1;i<=m;i++)
{
if(m%i==0)
{
printf("%6d",i);
k++;
if(k%5==0)printf("\n");
//每五个数换一次行
}
}
getchar();
getchar();
}
你上机运行一下吧,结果是对的,有不明白的地方可以再找我……
⑩ C语言,输入任意正整数,求出其所有因子显示出来
#include"stdio.h"
intmain(intargc,char*argv[]){
intn,m;
printf("Pleaseenterapositiveinteger... n=");
if(scanf("%d",&n)!=1||n<=0){
printf("Inputerror,exit... ");
return0;
}
printf("%d-->1",n);
for(m=2;m<=n;m++)
if(n%m==0)
printf(",%d",m);
printf(" ");
return0;
}
运行样例: