gpt4 book ai didi

c# - 欧拉计划解决方案 #14

转载 作者:太空狗 更新时间:2023-10-30 00:08:20 24 4
gpt4 key购买 nike

我有以下问题(来自 ProjectEuler.net - Problem 14)

为正整数集定义了以下迭代序列:

n -> n/2 (n is even)
n -> 3n + 1 (n is odd)

使用上述规则并从 13 开始,我们生成以下序列:

13 → 40 → 20 → 10 → 5 → 16 → 8 → 4 → 2 → 1

可以看出,这个序列(从13开始,到1结束)包含10个词项。尽管尚未证明(Collat​​z 问题),但认为所有起始数字都以 1 结束。

哪个起始数(小于一百万)产生最长的链?

注意:一旦链开始,条款就可以超过一百万。

我用过:

   static int road (int n)
{
int road = 0;
while (n != 1)
{
if (n % 2 == 0)
n = n / 2;
else
n = 3 * n + 1;
road++;
}
return road;
}
static void Main(string[] args)
{
int max = 0, num = 0;
for (int i = 1; i < 1000000; i++)
{
if (road(i) > max)
{
max = road(i);
num = i;
}
}
Console.WriteLine(num);
}

但是没有打印输出。

最佳答案

(我不会给你一个完整的解决方案,因为 Project Euler 旨在让你思考,而不是我们已经解决了问题。)

尝试弄清楚您的链中的值将有多大,并记住 limits for integral types .

关于c# - 欧拉计划解决方案 #14,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9617411/

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