我们要求质因数,那么就选择采用遍历的方法,从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...
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 0;} ...
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",n); } else { p...
i; //重新赋值 i = 2; //重新遍历 } } printf("%d=%d", y, a[0]); //输出原数、等号、第一个质因数 for(i = 1; i < j; i++) printf("×%d", a[i]); //如果存在第二个质因数,则继续输出 return 0;} ...
质数/素数:质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数 2、分解的思路: 从最小的的数开始,不断地用正整数(输入的数)去对它(最小的数)求余,若余数为0,就说明是这个正整数的一个质因子,到这里可能有部分小同志就会想,那我用一个循环不断去取余不就行了嘛!
这个问题,首先,用筛选法找出质素,然后,遍历这个素以内的所有素数,找到质因数!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...
factor++; /* 质数增加一个 */ } putchar('\n'); /* 换行 */ return 0; } 总结 在这篇文章中,我们详细介绍了如何用C语言写一个求质因数的程序。通过定义变量、输入要分解的数、找出质因数和输出质因数这些步骤,我们成功地编写了一个简单又实用的程序。对于初学者来说,这是一个不错的练习项目,希望读...
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(...
C语言:求质因数的函数 #include <stdio.h>voidzys(inta) {inti; printf("%d=",a);for(i=2;i<=a;i++) {while(a%i==0) { printf("%d",i); a/=i;if(a!=1) printf("*"); } } } main() {inta=750,i,n; zys(a); getchar();...