如何在不使用条件语句和循环语句的情况下实现控制台输出1~100?

发布于 2022-09-02 11:36:32 字数 108 浏览 16 评论 0

题目:不使用条件语句和循环语句实现控制台输出1-100。
我的思路是使用递归,运用除0报错try,catch来结束递归,但是总觉得不是正常的方法,所以想问问诸位,有什么好方法,任何程序语言都可以~

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(11

往事风中埋 2022-09-09 11:36:32

我是来娱乐大家的

// 直接写100个输出语句
print(1);
print(2);
...
print(100);
// 直接写1~100
print(1, 2, 3, 4, ...., 100);
// 用字符串
print("1 2 3 4...100");
// 用函数来加速
int i = 1;
void layer1() { // 4 times
    print(i++);
    print(i++);
    print(i++);
    print(i++);
}
void layer2() { // 4 * 4 times
    layer1();
    layer1();
    layer1();
    layer1();
}
void layer3() { // 4 * 4 * 4 times
    layer2();
    layer2();
    layer2();
    layer2();
}
void layer4() { // 64 + 2 * 16 + 4 = 100 times
    layer3();
    layer2();
    layer2();
    layer1();
}

layer4();
丶视觉 2022-09-09 11:36:32

一行python,完全无循环,也不用map:

print repr(list(range(1,101))).replace(', ', '\n').strip('[]')
只涨不跌 2022-09-09 11:36:32

这是课后脑筋急转弯的题目吗

故人如初 2022-09-09 11:36:32

c#:

Enumerable.Range(1, 1000)
                      .ForEach(num => Console.WriteLine(num));
浅唱ヾ落雨殇 2022-09-09 11:36:32

JavaScript:

function x (i, j) { i > j || [console.log(i),x(++i, j)]; }; x(1, 100)
请止步禁区 2022-09-09 11:36:32

Ruby 版

(1..100).each { |i| puts i}
谢绝鈎搭 2022-09-09 11:36:32

Java 8 版
IntStream.range(1,101).forEach(System.out::println);

滥情哥ㄟ 2022-09-09 11:36:32

方法1:使用递归
方法2:用while循环

荒人说梦 2022-09-09 11:36:32

在看了这么多人的答复后,有些回答写得相当精彩,但是有些朋友的质疑也让我深思了这个问题,怎么定义条件语句和循环语句?C#的ForEach究竟算不算循环?我觉得只要是表面上没有用就可以了,因为他的具体的实现可能是我们无法得知的,而且对于使用递归的情况来说,我使用的是尾递归,而编译器会对于尾递归进行优化,他在编译器层面上会被优化成循环,那么使用尾递归又算不算循环呢?所以我觉得探究这种问题不必要非得刨根究底,只要能够从中获得思路,学到东西就好了。

穿越时光隧道 2022-09-09 11:36:32

php:

<?php
$numbers=range(1,9);
foreac($numbers as $v){
echo $v;
}

?>

等风来 2022-09-09 11:36:32

楼上的大哥们,你们都用range函数了还用那么复杂?移位操作可以实现

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文