int main(){int n;scanf("%d",&n);printf("%d =",n);for(int i=2;i<n;i++){while(n>i)//进入循环n的值会变所以要再次判断ni的值大小情况{if(n%i==0){printf("%d *",i);n/=i;//商}else{break;//不符合直接终止循环}}}printf("%d",n);//这里是把最后一个值输出printf("\n");}
这道题就是思路没通,一开始写的出来结果时90=2*3*15
后面参考了别人的思路,发现就是少了一个重新判断的条件,每次循环n除以i,得重新判断i<n这个条件是否成立才行。