《带你学C带你飞》阶段测试
求num最好的质数因子,为什么下面这段代码最后是输出i的值而不是j的值。求大佬帮忙解释一下。#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;
} 不好意识打错字了 是求num最大的质数因子。 。。。。。
因为你在最后printf输出的是i啊。。。 抢个楼来学习,我也不懂,学习学习
页:
[1]