0017 分解质因数
问题描述:
将一个正整数分解质因数,例如:输入90,输出:90=2*3*3*5
代码展示:
1 #include2 int isZhuShu(int n); 3 int main(){ 4 int n,i=2,j; 5 int a[10]; 6 int count=0; 7 printf("请输入正整数:"); 8 scanf("%d",&n); 9 int temp = n; 10 for(i=2;temp!=1;){ //寻找符合的质因数 11 if(isZhuShu(i)==1){ 12 if(temp%i==0){ 13 a[count++] = i; 14 temp /= i; 15 }else{ 16 i++; 17 } 18 }else{ 19 i++; 20 } 21 } 22 printf("%d=",n); //输出 23 for(j=0; j ){ 24 if(j!=count-1){ 25 printf("%d*",a[j]); 26 }else{ 27 printf("%d",a[j]); 28 } 29 } 30 return 0; 31 } 32 int isZhuShu(int n){ //判断是否是质数 33 int i=2; 34 for(i=2; i 2; i++){ 35 if(n%i==0){ 36 return -1; 37 } 38 } 39 return 1; 40 }
运行截图: