gpt4 book ai didi

algorithm - 如何按字典顺序对数字 1, ... n 进行排序而不将数字转换为字符串?

转载 作者:行者123 更新时间:2023-12-03 23:06:41 27 4
gpt4 key购买 nike

假设我输入了 n如何在不将数字转换为字符串的情况下打印此序列?

IE:-
n = 100输出:- 1 10 100 11 12 13 14 15 16 17 18 19 2 20 ...n = 15输出:- 1 10 11 12 13 14 15 2 3 4 5 6 7 8 9n = 20输出:- 1 10 11 12 13 15 15 16 17 18 19 2 20 3 4 5 6 7 8 9
这里的主要因素是什么?

我的初始解决方案将打印 1 后跟 0 或 2 后跟 0

 int n = 100;
for (int i = 1; i <= n; i++) {
int x = i;
while (x <= n) {
System.out.println(x);
x *= 10;
}
}

最佳答案

我想出了解决办法:-

您可以使用首字母 k = 1 来调用它
例如 printnum(15, 1

void printnums(int n, int k) {
if (k > n) {
return;
}

for (int i = 0; i < 10; i++) {
if (k <= n) {
System.out.println(k);

k *= 10;
printnums(n, k);
k /= 10;
k++;
if (k % 10 == 0) return;
}
}
}

不知道有没有更优化的?

关于algorithm - 如何按字典顺序对数字 1, ... n 进行排序而不将数字转换为字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62155293/

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