gpt4 book ai didi

c++以对数方式增加for循环增量

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:35:29 24 4
gpt4 key购买 nike

我想像这样遍历整数:

1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 20, 30, 40, ..., 100, 200, ..., 1000, 2000, ...

我有执行此操作的代码(如下所示),但它很麻烦,而且通常没有编程来处理不同的停止限制:

int MAX = 10000;

for (int i = 1; i <= MAX; i++) {

cout << i << endl;

if (i >= 10 && i < 100) {
i += 9;
}

else if (i >= 100 && i < 1000) {
i+= 99;
}

else if (i >= 1000 && i < 10000) {
i += 999;
}

}

如您所见,这是如前所述指定的情况 - 所以我想知道一种以更通用的方式对此进行编码的方法,至于我的要求 MAX 将是 10^9 的数量级所以使用上面的代码太不切实际了。

最佳答案

试试这段代码。它更通用:

int MAX = 1000000;

for (int i = 1, increment = 1, counter = 1; i <= MAX; i += increment) {
cout << i << endl;

if (counter == 10) {
increment *= 10;
counter = 1;
}
++counter;
}

关于c++以对数方式增加for循环增量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33442965/

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