gpt4 book ai didi

c - 找到最大的素数因子?

转载 作者:行者123 更新时间:2023-11-30 18:18:09 25 4
gpt4 key购买 nike

我需要找到13195 的质因数是 5、7、13 和 29。/*最大的是377。*/数字 600851475143 的最大质因数是多少?

#include<stdio.h>
int main()
{
int i, j = 0;
/*Code works really fine for 13195 or 26*/
long value, large = 600851475143 /*13195*/;

for(value = (large - 1) ; value >= 3; value--)
{
if(large % value == 0)
{
/*printf("I am here \n");*/
if((value % 2 != 0) && (value % 3 != 0) && (value % 5 != 0) && (value % 7 != 0) )
{
j = 1;
break;
}
}
}

if (j == 1)
{
printf("%ld", value);
}
return 0;
}

哪里出了问题?

最佳答案

  1. 600851475143 太大,无法容纳 32 位整数。 long 在您的计算机上可能是 32 位。您需要使用 64 位类型。确切的数据类型取决于您的平台、编译器。

  2. 您的主要检查代码是错误的。您假设如果某个东西不能被 2、3、5、7 整除,那么它就是素数。

关于c - 找到最大的素数因子?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9000305/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com