输入一个整数,输出该整数的所有素数因子。例如,输入120,输出2 2 2 3 5
输出要求:素数分解结果,从小到大排列,用空格隔开,结尾换行
#include <stdio.h>
int main()
{
int n;
scanf("%d", &n);
while (n > 1)
{
for (int i = 2; i <= n; i++)
{
if (n % i == 0) { printf("%d ", i); n /= i; break; }
}
}
printf("\n");
}
http://codepad.org/jvD8Wove
2 2 2 3 5
.........素数不用判断吗??
代码可以优化一下
#include
int main()
{
int n, m=2;
scanf("%d", &n);
while (n > 1)
{
for (int i = m; i <= n; i++)
{
if (n % i == 0) { printf("%d ", i); n /= i;m = i; break; }
}
}
printf("\n");
}