gpt4 book ai didi

c++ - 欧拉计划 C++ # 3

转载 作者:行者123 更新时间:2023-11-28 07:04:20 24 4
gpt4 key购买 nike

问题:

“13195的质因数是5、7、13、29。

数 600851475143 的最大质因数是多少?"

#include<iostream.h>
#include<conio.h>
#include<math.h>
void main()
{
clrscr();
long double x=600851475143,n;
for(n=2;;n++)
{redo:if(fmod(x,n) == 0)
{ x=x/n;
goto redo;
}
if(x == 1)
{
cout<<n
break;
}
}
getch();
}

我尝试在不使用蛮力的情况下解决它,但我的输出始终是 688543。我找不到故障。请帮忙。谢谢。

最佳答案

这是你的代码,翻译成实际 C++(我没有改变它的语义):

#include <iostream>
#include <cmath>

int main()
{
long double x = 600851475143;
long double n = 2;

while (x > 1) {
if (fmod(x,n) == 0)
x /= n;
else
n++;
}

std::cout << n << '\n';
}

The result is: 6857

你的算法没问题。要么你的编译器非常坏了,你在 16 位系统上工作,要么你犯了一些你没有犯的其他错误给我们看。

关于c++ - 欧拉计划 C++ # 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21986899/

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