本文概述
- C++
- C
- Java
- Python3
- C#
- PHP
嗯, 一种可能性是使用” 递归” , 前提是我们仔细使用终止条件。这是使用递归打印数字的解决方案。
C++
//C++ program to How will you print
// numbers from 1 to 100 without using loop?
#include <
iostream>
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 <
stdio.h>
//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
<
?php
//PHP program print numbers
//from 1 to 100 without
//using loop//Prints numbers from 1 to n
function printNos( $n )
{
if ( $n>
0)
{
printNos( $n - 1);
echo $n , " " ;
}
return ;
}//Driver code
printNos(100);
//This code is contributed by vt_m
?>
【如何在不使用循环的情况下打印1到100之间的数字()】输出:
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变量的内存表示形式()
- Python如何在Kivy中使用多个UX小部件()
- 如何编写修改链表头指针的C函数()
- 如何在Python中编写空函数-pass语句()
- 如何为你的项目编写好的SRS
- 如何使用Jupyter Notebook(终极指南)
- 如何在Java中使用Iterator()
- shell 流程控制
- 关于前端工程化,你了解多少()