求最大质素因子
C语言的第一阶段考核的第二题答案的代码是不是有点问题2. 编写一个程序,求解 600851475143 的最大质数因子是多少?
#include <stdio.h>
#include <math.h>
int main()
{
long long i, j, k, l, num = 600851475143;
_Bool flag = 1;
for (i = 2, j = num/i; flag != 0; i++, j = num/i, flag = 1)
{
if (i * j == num)
{
k = sqrt((double)j);
for (l = 2; l <= k; l++)
{
if (j % l == 0)
{
flag = 0;
break;
}
}
if (flag)
{
break;
}
}
}
printf("%lld\n", i);
return 0;
}
最后的printf里应该是j才对吧 相信自己,你是对的
页:
[1]