#include <stdio.h>
int main()
{
int x, n;
printf("请输入一个正整数\n");
scanf("%d",&x);
printf("%d=",x);
for(n=2;n<x;n++)
{
if(x%n==0){ printf("%d*",n); x=x/n; n=1; }
}
printf("%d\n",x);
}
为什么要让n=1,还有最后为什么会有x的printf?
#include <stdio.h>
int main()
{
int x, n;
printf("请输入一个正整数\n");
scanf("%d",&x);
printf("%d=",x);
for(n=2;n<x;n++)
{
if(x%n==0){ printf("%d*",n); x=x/n; n=1; }
}
printf("%d\n",x);
}
为什么要让n=1,还有最后为什么会有x的printf?
起一个重置的作用。
假设不重置n为1,下次循环n则会变为3并每循环一次+1,即之后的循环都会错过除以2的判断。
最后一个prinf,x则是最小因数