CS 3343/3341 Introduction to Algorithms |
Loop Implemented With Recursion |
C Program | |
---|---|
// fun.c: print n down to 1 #include <stdio.h> void f(int ); void fr(int ); void f(int n) { while (n > 0) { printf("%i ", n); n--; } printf("\n"); } void fr(int n) { if (n > 0) { printf("%i ", n); fr(--n); } } int main() { f(10); fr(10); printf("\n"); } | // sum.c: sum of 1 to n #include <stdio.h> int s(int ); int sr(int ); int s(int n) { int sum = 0; while (n > 0) { sum = sum + n; n--; } return(sum); } int sr(int n) { if (n > 0) { return n + sr(n-1); } return(0); } int main() { printf("%i, ", s(10)); printf("%i\n", sr(10)); } |
Output | Output |
10 9 8 7 6 5 4 3 2 1 10 9 8 7 6 5 4 3 2 1 | 55, 55 |