编写一个程序,求解 600851475143 的最大质数因子是多少
#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;
}
我感觉我写的没错但是编译器没算出来求解
这个代码哪里错了怎么改呢 Pythonp = 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;
}
输出结果:6857 我想的是先判断是不是质数然后在求解质因子 好想少了个{
我加了{还是不对球球各位了 我会了
打扰了,我自己弄会了 1113753663 发表于 2022-3-3 17:30
打扰了,我自己弄会了
结果公布下 zhiwen 发表于 2022-3-4 09:20
结果公布下
等我回宿舍给你说 谢谢大佬了,你这个比我自己弄的还简答
页:
[1]