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这个条件是否成立才行。