|
10鱼币
#include <stdio.h>
#include <math.h>
int main()
{
long long int i,j,k,l,num=600851475143;
_Bool flag;
for (i=1;i<sqrt(j);i++,flag=1)
{
for (j=num-1;j<num;j--)
if (j%i==0)
{
flag=0;
}
if (flag)
{
if (num%j==0)
{
goto FINDIT;
}
}
}
FINDIT:printf("600851475143的的最大质因子是%d\n",j);
return 0;
}
我感觉我写的没错但是编译器没算出来求解
这个代码哪里错了怎么改呢
Python p = 600851475143
n = 2
while n*n < p:
while not p%n:
p /= n
n += 1
print(p)
C #include <stdio.h>
int main(){
long long p = 600851475143;
for(int n = 2; n*n < p; n++)
while(!(p%n)) p /= n;
printf("%lld", p);
return 0;
}
输出结果:
|
|