Как вы будете печатать числа от 1 до 100 без использования цикла?

Опубликовано: 1 Января, 2022

Если мы внимательно рассмотрим эту проблему, то увидим, что идея «цикла» состоит в отслеживании некоторого значения счетчика, например, от «i = 0» до «i <= 100». Итак, если нам не разрешено использовать цикл, как еще можно что-то отслеживать на языке C!
Что ж, одна из возможностей - это использование «рекурсии» при условии, что мы будем осторожно использовать условие завершения. Вот решение, которое печатает числа с помощью рекурсии.

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;
}

Джава

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
?>

Javascript

<script>
// Javascript code for print numbers from
// 1 to 100 without using loop
// Prints numbers from 1 to n
function printNos(n)
{
if (n > 0)
{
printNos(n - 1);
document.write(n + " " );
}
return ;
}
printNos(100);
// This code is contributed by rameshtravel07.
</script>

Выход :

 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».
Подсказка - используйте какой-нибудь оператор, который можно использовать вместо «если».
Обратите внимание, что метод рекурсии хорош, но каждый вызов функции создает один «стек-кадр» в программном стеке. Так что, если есть ограничение на ограниченную память и нам нужно напечатать большой набор чисел, «рекурсия» может быть не очень хорошей идеей. Так что же может быть другой альтернативой?
Другой альтернативой является инструкция «goto». Хотя использование «goto» не рекомендуется в качестве общей практики программирования, поскольку оператор «goto» изменяет нормальную последовательность выполнения программы, тем не менее, в некоторых случаях использование «goto» является лучшим рабочим решением.
Поэтому, пожалуйста, попробуйте напечатать числа от 1 до 100 с помощью оператора goto. Вы можете использовать GfG IDE!
Выведите от 1 до 100 на C ++ без цикла и рекурсии

Хотите узнать о лучших видео и практических задачах, ознакомьтесь с базовым курсом C ++ для базового и продвинутого уровня C ++ и курсом C ++ STL для базового уровня плюс STL. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .