用C语言编写:输入一个整数,输出其质因子 如输入:20 输出:2 2 5

如题所述

第1个回答  2014-12-03
#include<stdio.h>
int main(int argc,char **argv)
{
    int i=2,n,tmp
    scanf("%d",&n);
    tmp = n;
    while(tmp > 1)
    {
        if(tmp%i == 0)
        {
            printf("%d ",i);
            tmp/=i;
        }else
        {
            i++;
        }
    }
   return 0;
}

本回答被提问者采纳
第2个回答  2014-12-03
#include<stdio.h>
#include<math.h>
int isprime(int num)
{
int i;
for(i=2;i<=sqrt(num);i++)
{
if(num%i==0)
return 0;
}
return 1;
}
int main()
{
int n,i,temp;
scanf("%d",&n);
temp=n;
for(i=2;i<=temp;)
{
if(temp%i==0&&isprime(i))
{
printf("%d ",i);
temp=temp/i;
if(temp%i!=0)
i++;
}
else
i++;
}
printf("\n");
return 0;
}

追问

太复杂了

程序是有错误的

第3个回答  2014-12-03
百度欧几里德算法

c语言编程:编写一个函数,输出整数m的全部素数因子。例如:m=120时,因 ...
include<stdio.h>int main(){ printf("请输入一个数:");int a;scanf("%d",&a);for(int i=2;i<=a;){ if(a%i==0&&i!=a){ printf("%d ,",i);a=a\/i;} else if(a%i==0&&i==a){ printf("%d \\n",i);a=a\/i;} else i++;} return 0;} 希望我的回答对你有帮助!

c语言程序:输出一个数的所有质因子
版本1:#include <stdio.h>#include <stdlib.h>int main(int argc, char *argv[]){int prime = atoi(argv[1]);printf("The prime is %d\\n", prime);for (int i = 1; i <= prime; i ++) { if (prime % i == 0){ printf("%d ", i); } } printf("\\...

c语言编程:求一个数的质因子
a[i]); \/\/如果存在第二个质因数,则继续输出 return 0;}

如何通过c语言编程编写一个函数可以输出整数m的全部素数因子?
i,k;\\x0d\\x0a printf("请输入:\\n");\\x0d\\x0a while(scanf("%d",&x)) \\x0d\\x0a { \\x0d\\x0a printf("分解质因数:\\n");\\x0d\\x0a k=x;\\x0d\\x0a for(i=2;i<k;i++) \\x0d\\x0a if(x%i==0) \\x0d\\x0a {\\x0d\\x0a printf("%d ",i);...

编程,输入一个正整数,输出它的所有质数因子(如180的质数因子为2、2...
public class Main{ public static void main(String[]args){ Scanner str=new Scanner(System.in);long num=str.nextLong();String result=getResult(num);System.out.println(result);} public static String getResult(long num){ int pum=2;String result="";while(num!=1){ while(num%pum...

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

求输入一个数字判断它是质数,如果不为质数,则输出它的因子c语言程序
int n;int a[32]; \/\/int类型对应4个字节,32位二进制,所以足够,如果是其他类型,需要修改。scanf("%d",n);int i;int flag=1;if(n==1){ printf("no\\n");printf("yinzi: %d",n);} else if(n0){ int j;i=0;for(j=2;jn;j++){ if(n%j == 0){ flag =0; \/\/不是...

c语言将一个正整数分解质因数,望高手帮我详细解释一下程序?
1、首先打开vc6.0, 新建一个vc项目,添加头文件。2、添加main主函数,如下图所示。3、然后定义 n, i 两个变量,如下图所示。4、接着使用scanf给n赋值,使用for循环。5、然后用while作为内层循环,使用printf打印i。6、最后使用if条件语句,运行程序,如下图所示,正整数分解为质因子就完成了。

用c语言输入13输出2 3代码怎么写?
如果你想使用c语言输入一个数字然后输出它的所有质因数,你可以使用以下代码:include <stdio.h> int main(void) { int n, i;printf("Enter a positive integer: ");scanf("%d", &n);printf("The prime factors of %d are: ", n);for (i = 2; i <= n \/ i; i++) { while (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的质因子,则...

相似回答