#include<stdio.h> void function(int n) { int sum = n; int i; for(i=2;i*i<=n;++i) { if(n%i == 0) { printf("%d ",i); while(n%i == 0) //排除掉已包含的这个质因数,比如20,第一个质因数是2,20/2=10,然后10/2=5 { n = n/i; } } } if(n>1) { printf("%d\n"...
我们要求质因数,那么就选择采用遍历的方法,从2开始除直到该数本身寻找他的因数前提:要确保输入的整数是合数,不然计算没有结果。1、第一步:因为数的因数可能重复比如9=3*3。所以我们需要每次都要从2开始遍历这是我们就需要用到递归算法。2、第二步:我们用while循环,循环条件是知道结果为1时停止。3...
1 打开Dev-C++ 2 写好头函数#include<stdio.h> 3 写好主函数 4 if里进行判断是否有因数和判断因数是不是质因数,如果有质因数则输出int j,k;int flag;flag=0;scanf("%d",&k);for(j=2; j<k; j++) { if((!(k%j))&&(IsPrime(j))) { flag=1; printf("%d\t",j); }}if(flag...
如果用户胡乱输入一个东西,则需要提示用户输入错误,并且让用户重新输入; 2. 当计算出一个整数的质因数后,给用户选择是继续计算其余整数的质因数,还是选择结束程序; 3. 计算一个整数的质因数,是从质数2开始,看看能否被整数整除。若能整除,则递归计算整除后的商的质因数,直至商与最后一个质数相等;若不能整除,再...
n%i==0)return 0;} return 1;} include<stdlib.h> int main(){ int k,a;printf("请输入一个整数");scanf("%d",&k);if(k<2&&k>10000){printf("error");exit(0);} printf("此整数的质因子为:");for(a=2;a<k;a++){ if(k%a==0 && fx(a))printf("%d ",a);} } ...
这个问题,首先,用筛选法找出质素,然后,遍历这个素以内的所有素数,找到质因数!include <stdio.h> define MAX 1001 char a[MAX];int main(){ int i,j;for(i = 2; i < MAX; i++){ if(a[i] == 0)for(j = i+i; j < MAX; j += i)a[j] = 1;} int n;printf("Please...
include <stdio.h> int isprime(int n){ int i;if(n<2)return 0;for(i=2;i*i<=n;++i)if(n%i==0)return 0;return 1;} int main(){ int n,i;while(scanf("%d",&n)==1){ for(i=n;i>0;i--){ if(n%i==0&&isprime(i)){ printf("%d\n",i);break;} } } return ...
C语言求质因数 #define_CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include<math.h>voidcheck_count();voidcombineNum(intx,inty,intz,intnum);voidprintDiamond(intx,inty);voidpurchaseChicken();floatcalculatePi();voidprimeJudge();voidperfectJudge();voidintimacyNumber();voidautomorphic(...
素数又叫质数(prime number),有无限个。质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数。 二、代码实现 1.主函数构建 代码语言:javascript 复制 intmain(){int n=0;int count=0;printf("请输入一个整数n:");scanf("%d",&n);printf("从%d到%d的范围内所有的素数:\n",n,n+100);for...
最后,我们通过printf()函数来输出所有的质因数。输出的格式为:“质因数^指数 ”。这个程序的最终版本如下: #include <stdio.h> int main(void) { long number; /* 要被分解的数 */ long factor; /* 当前质数 */ long exponent; /* 当前指数 */ printf("请输入一个整数:"); ...