一个正整数用几个质数相乘的形式表示出来,叫做分解质因数。编写程序,输入一个正整数,输出该正整数分解质因数的形式。例如,输入90,输出90=2*3*3*5。
#include <stdio.h> //判断是否是质数 bool isPrimer(int num) { for(int i = 2;i < num;++i) { if(num%2 == 0) return false; } return true; } int main() { int num; scanf("%d",&num); if(isPrimer(num)) { printf("%d是质数\n",num); } for(int i = 2;i <= num;) { //i是num的因子 if(num%i == 0) { //判断i是否是质数 if(isPrimer(i)) { printf("%d ",i); num = num/i; i = 2; } }else{ +++i;//继续找因子 } } return 0; }
#include<stdio.h> int main(){ int n,i; scanf("%d",&n); printf("%d=",n); while(n!=1){ i=2; while(1){ if(n%i==0){ //////i是因子 printf("%d",i); n/=i; break; } i++; ///i不是因子,自增后继续循环判断 } if(n!=1) ////如果n还能被分解,则输出*号 printf("*"); } return 0; }