如何用 C语言 输出一个整数的因子

急用 在线等

假如整数n除以m,结果是无余数的整数,那么我们称m就是n的因子。 需要注意的是,唯有被除数,除数,商皆为整数,余数为零时,此关系才成立。反过来说,我们称n为m的倍数 。


如果利用C语言求一个整数n的因子,可以从1开始到n,依次加1,如果它是n的的因子,则输出。


具体的源码实现如下:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char* argv[])
{
    int n;
    while(scanf("%d",&n) !=EOF)
    {
        if(n<1)break;
        int i;
        for(i=1;i<=n;i++)
        {
            if(n%i==0)
            printf("%d ",i);
        }
        printf("\n");
    }
    return 0;
}

编译运行后的结果:

温馨提示:内容为网友见解,仅供参考
第1个回答  2009-09-17
#include<stdio.h>
#include<math.h>//sqrt()的头文件

int main()
{
int n;
printf("请输入一个整数:");
scanf("%d",&n);//输入这个整数
printf("%d的因数有:",n);
for(int i=1;i<=sqrt(n);++i)//判断所有小于这个整数平方根的数是不是它的因子
if(n%i==0)//n能被i整除,i就是n的因子
printf("%d ",i);

return 0;
}
第2个回答  推荐于2017-10-08
main() {
int x,i;
printf("请输入一个整数:");
scanf("%d",&x);
printf("%d的因子有:", x);
for(i=1;i<=x/2;i++)
if(x%i==0)
printf("%d ",i);
printf("\n");
}本回答被提问者采纳
第3个回答  2009-09-17
#include <stdio.h>
void gene(int number)
{
int i, x;
for(i = 2; i * i <= number; i++)
{
while(number % i == 0)
{
printf("%d ", i);
number /= i;
}
}
if(number != 1)
printf("%d ", number);
printf("\n");
}

int main()
{
int number = 0;

while(number != -1)
{
printf("enter a number: ");
scanf("%d", &number);
gene(number);
}

return 0;
}
第4个回答  2018-10-20
#include <stdio.h>
void main()
{
int n,j;
scanf("%d",&n);
for(j=1;j<=n;j++)
if(n%j==0)
{printf("%d",j);
printf("\n");

如何用 C语言 输出一个整数的因子
如果利用C语言求一个整数n的因子,可以从1开始到n,依次加1,如果它是n的的因子,则输出。具体的源码实现如下:#include <stdio.h>#include <stdlib.h>int main(int argc, char* argv[]){ int n; while(scanf("%d",&n) !=EOF) { if(n<1)break; int i; for(i=1...

c语言 输入一个正整数n,输出n的所有因子
当您需要在C语言中编写程序来找出一个正整数n的所有因子时,首先需要定义一些整型变量,以便进行运算。程序的流程如下:步骤1:初始化两个整数变量n和m,确保它们都是大于2的正整数,作为输入。步骤2:设置一个临时变量t,其值为m,同时定义一个变量i,初值设为2,用于遍历可能的因子。接下来,使用do...

用C语言输出 一个整数的所有因子
main() { int x,i;printf("请输入一个整数:");scanf("%d",&x);printf("%d的因子有:", x);for(i=1;i<=x\/2;i++)if(x%i==0)printf("%d ",i);printf("\\n");}

c语言 输入一个正整数n,输出n的所有因子
1、定义整型变量,用于程序的运算。2、输入两个大于2的正整数,保存在变量n和m中。3、获取临时变量t的值为m,设置i的初值为2。4、用do-while语句执行循环,判断条件为i<m。5、用i对整数m求余,保存在变量r中。6、判断i是否m的质因子,如果是则继续判断是否n的质因子,如果不是n的质因子,则...

用C语言编一函数,找出任一整数的全部因子。【程序尽量完整】_百度知 ...
include "stdio.h"int main(){ int x,i;scanf("%d",&x);\/\/输入一个整数 for(i=1;i<=x;++i){ if(x%i==0)printf("%d\\n",i);\/\/输出因子 } return 0;} 这样就OK了~~不明白的话就问我

C语言,输入任意正整数,求出其所有因子显示出来
include "stdio.h"int main(int argc,char *argv[]){int n,m;printf("Please enter a positive integer...\\nn=");if(scanf("%d",&n)!=1 || n<=0){printf("Input error, exit...\\n");return 0;}printf("%d --> 1",n);for(m=2;m<=n;m++)if(n%m==0)printf(",%d",...

c语言输入一个数输出他全部的素数因子(问题注释在源代码中)
1、打开编译器,在此演示的是C-FREE。2、Ctrl+N新建一个文件。3、输入如下程序:#include "stdio.h"\/\/判断n是否是完数bool isWanShu(int n){ int sum=0, j; for(j=1;j<n;j++) {if(0==n%j) sum+=j;} if(sum==n) {printf("%d 是完数, ", n);return true; } els...

【问题描述】输出一个整数的全部素数因子。
C语言求一个正整数的所有素因子,参考代码如下:include "stdio.h"int main(){ long n,i,fac0,fac1=1;scanf("%ld",&n);while(n>1) { for(i=2; i<=n; i++)if(n%i==0) { fac0=fac1;fac1=i;break;} if(fac0!=fac1)printf("%d ",fac1);n\/=fac1;} return 0;} ...

用C语言编写一个函数factors,求出一个正整数的所有因子。
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语言求一个数的因子
} int main(int argc, char const *argv[]){ \/* code *\/ int factors[N],i,count;long sum;sum = factor(atoi(argv[1]),factors,&count);for(i=0;i<count;i++){ printf("%5d",factors[i]);} printf("\\n\\n");printf("sum=%5ld count=%5d\\n",sum,count);return 0;} ...

相似回答