Sunday, November 3, 2013

How to print 1 to 100 without using loop in c!!


The basic idea is to repeat the process of printing number and not using any iteration loop. We can achieve this by using recursion. As most of you know that recursion is calling the same function repeatedly until it reaches the termination condition. We can do printing 1 to n numbers in two ways by using recursion.

  • Calling main function repeatedly
  • Calling user defined function repeatedly


Using main() function: We will maintain the global variable with initial value zero. and call the main() function in the main function, if the i value reaches 100 or required value(n), we will return. If the i value is not 100, print the i value and increment i and call main function.

#include<stdio.h>
int i=0;
int main()
{
  if(i>100)
   return 0;
  printf("%d ",i);
  i++;
  main();
}
Output:
$ ./a.out
0 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

Using User defined function: We will follow same logic as we did for above method, this time we will call user defined method withOutLoop instead of main function.

#include<stdio.h>
int i=0;
int withOutLoop()
{
  if(i>100)
   return 0;
  printf("%d ",i);
  i++;
  withOutLoop();
}
int main()
{
  withOutLoop();
}
OutPut:
$ ./a.out
0 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

No comments:

Popular Posts