gpt4 book ai didi

c# - 为什么将 int 改为 long 会加快执行速度?

转载 作者:IT王子 更新时间:2023-10-29 04:52:12 27 4
gpt4 key购买 nike

<分区>

我试图解决 problem #14 from Project Euler ,并编写了以下 C#...

int maxColl = 0;
int maxLen = 0;
for (int i = 2; i < 1000000; i++) {
int coll = i;
int len = 1;
while (coll != 1) {
if (coll % 2 == 0) {
coll = coll / 2;
} else {
coll = 3 * coll + 1;
}
len++;
}
if (len > maxLen) {
maxLen = len;
maxColl = i;
}
}

麻烦的是,它只是跑啊跑啊,似乎没有停下的意思。

在搜索了其他人的解决方案后,我看到一个看起来非常相似,只是他使用了 long 而不是 int。我不明白为什么这是必要的,因为这个问题中涉及的所有数字都在 int 范围内,但我还是尝试了。

将 int 更改为 long 使代码运行仅需 2 秒多一点。

谁能给我解释一下?

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