void f(int n)
{
for(int i=2; i<n/2; i++)
{
while(n%i==0)
{
printf("%d ", i);
n = n / i;
}
}
if(n>1) printf("%d\n", n);
}
注意点:在第五行的空下面为代码段,说明至少是循环或者条件语句
很容易想到取余的方法:n%i==0,但是尝试带入if(n%i==0)后发现,因式分解的结果在相同因子的时候只能有一个,故错误
方法:在n未知的状态下,用while循环结构,满足此题条件
反思:思维要灵活,三大结构必须熟练用