1113753663 发表于 2022-3-3 17:18:24

编写一个程序,求解 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;
}
我感觉我写的没错但是编译器没算出来求解
这个代码哪里错了怎么改呢

傻眼貓咪 发表于 2022-3-3 17:18:25

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:19:18

我想的是先判断是不是质数然后在求解质因子

1113753663 发表于 2022-3-3 17:22:14

好想少了个{

1113753663 发表于 2022-3-3 17:24:24

我加了{还是不对球球各位了

1113753663 发表于 2022-3-3 17:29:39

我会了

1113753663 发表于 2022-3-3 17:30:42

打扰了,我自己弄会了

zhiwen 发表于 2022-3-4 09:20:55

1113753663 发表于 2022-3-3 17:30
打扰了,我自己弄会了

结果公布下

1113753663 发表于 2022-3-4 10:40:07

zhiwen 发表于 2022-3-4 09:20
结果公布下

等我回宿舍给你说

1113753663 发表于 2022-3-4 10:42:50

谢谢大佬了,你这个比我自己弄的还简答
页: [1]
查看完整版本: 编写一个程序,求解 600851475143 的最大质数因子是多少