📌  相关文章
📜  在不使用循环的情况下,如何打印从1到100的数字?

📅  最后修改于: 2021-05-25 22:12:11             🧑  作者: Mango

如果我们仔细看一下这个问题,我们可以看到“循环”的想法是跟踪一些计数器值,例如“ i = 0”直到“ i <= 100”。因此,如果我们不允许使用循环,那么如何用C语言跟踪其他内容呢!
好吧,一种可能性是使用“递归”,前提是我们谨慎地使用终止条件。这是使用递归打印数字的解决方案。

C++
// C++ program to How will you print
//  numbers from 1 to 100 without using loop?
#include 
using namespace std;
 
class gfg
{
     
// Prints numbers from 1 to n
public:
void printNos(unsigned int n)
{
    if(n > 0)
    {
        printNos(n - 1);
        cout << n << " ";
    }
    return;
}
};
 
// Driver code
int main()
{
    gfg g;
    g.printNos(100);
    return 0;
}
 
 
// This code is contributed by SoM15242


C
#include 
 
// Prints numbers from 1 to n
void printNos(unsigned int n)
{
    if(n > 0)
    {
        printNos(n - 1);
        printf("%d ", n);
    }
    return;
}
 
// Driver code
int main()
{
    printNos(100);
    getchar();
    return 0;
}


Java
import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;
 
class GFG
{
    // Prints numbers from 1 to n
    static void printNos(int n)
    {
        if(n > 0)
        {
            printNos(n - 1);
            System.out.print(n + " ");
        }
        return;
    }
 
    // Driver Code
    public static void main(String[] args)
    {
        printNos(100);
    }
}
 
// This code is contributed by Manish_100


Python3
# Python3 program to Print
# numbers from 1 to n
 
def printNos(n):
    if n > 0:
        printNos(n - 1)
        print(n, end = ' ')
 
# Driver code
printNos(100)
 
# This code is contributed by Smitha Dinesh Semwal


C#
// C# code for print numbers from
// 1 to 100 without using loop
using System;
 
class GFG
{
     
    // Prints numbers from 1 to n
    static void printNos(int n)
    {
        if(n > 0)
        {
            printNos(n - 1);
            Console.Write(n + " ");
        }
        return;
    }
 
// Driver Code
public static void Main()
{
        printNos(100);
}
}
 
// This code is contributed by Ajit


PHP
 0)
    {
        printNos($n - 1);
        echo $n, " ";
    }
    return;
}
 
// Driver code
printNos(100);
 
// This code is contributed by vt_m
?>


Javascript


输出 :

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 
16 17 18 19 20 21 22 23 24 25 26 27 
28 29 30 31 32 33 34 35 36 37 38 39
40 41 42 43 44 45 46 47 48 49 50 51
52 53 54 55 56 57 58 59 60 61 62 63
64 65 66 67 68 69 70 71 72 73 74 75
76 77 78 79 80 81 82 83 84 85 86 87
88 89 90 91 92 93 94 95 96 97 98 99 
100 

时间复杂度: O(n)
现在尝试编写一个执行相同操作但没有任何“ if”构造的程序。
提示—使用一些可以代替“ if”的运算符。
请注意,递归技术很好,但是每次调用该函数都会在程序堆栈中创建一个“堆栈帧”。因此,如果内存有限,我们需要打印大量数字,那么“递归”可能不是一个好主意。那么,另一种选择是什么呢?
另一种选择是“ goto”语句。尽管建议不要使用“ goto”作为一般编程实践,因为“ goto”语句会更改正常的程序执行顺序,但在某些情况下,使用“ goto”是最佳的解决方案。
因此,请尝试使用“ goto”语句打印从1到100的数字。您可以使用GfG IDE!
在C++中打印1到100,没有循环和递归

要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程”