题目大意:输入一个数,对这个数进行质因数分解。
解题思路:范围从2到根号n,如果最后n没有除为1,说明还未算完,最后的n也为质因数。
ac代码:
#include <iostream>
#include <cmath>
using namespace std;
long long n, d;
int main()
{
while (scanf("%lld", &n)!=EOF && n!=-1){
d = sqrt(n);
for (long long i=2; i<=d; i++)
while (n % i == 0){
printf(" %lld\n", i);
n /= i;
}
if (n > 1)
printf(" %lld\n", n);
printf("\n");
}
return 0;
}