6. Program to find whether a number is Palindrome or not using recursion
/* Palindrome Number : If Reverse of a number = Number, the number is called Palindrome No. LOGIC : Reverse of a number is found by r=(r*10)+d Here r=reverser and d=digit extracted from the number. */ #include<conio.h> // Linux user - Remove this #include<stdio.h> // Declaring global variable r=reverse, d=digit int r=0, d=0; // Defining function with parameter n = number int rev(int n) { /* Base condition : Any condition where a recursive function or method does not invoke itself. */ if(n==0) return r; // Continue calling function rev or function invoke itself else { // Extracting digit d=n%10; // Finding reverse r=(r*10+d); // function invoke itself rev(n/10); } } int main() { // Declaring variable n = number int n; // Declaring variable "r" to hold the reverse number int r; // Inputting Number printf("Enter the Number : "); scanf("%d",&n); // Calling function "rev" with actual parameter "n" passed to it r=rev(n); // Checking and Displaying if a Number is palindrome or Not if(r==n) printf("%d is a Palindrome Number ",n); else printf("%d is not a Palindrome Number ",n); getch(); // Linux user - Remove this return 0; }
7. Program to find whether a number is Armstrong or not using recursion
/* Armstrong Number : If sum of digits cube = Number then it is called an Armstrong Number LOGIC : Sum of digits cube of a number is found by s=s+d*d*d Here s=sum and d=digit extracted from the number. */ #include<conio.h> // Linux user - Remove this #include<stdio.h> // Declaring global variable r=reverse, d=digit int s=0, d=0; // Defining function with parameter n = number int sum(int n) { /* Base condition : Any condition where a recursive function or method does not invoke itself. */ if(n==0) return s; // Continue calling function sum or function invoke itself else { // Extracting digit d=n%10; // Finding reverse s=s+d*d*d; // function invoke itself sum(n/10); } } int main() { // Declaring variable n = number int n; // Declaring variable "s" to hold the sum of digits cube of number int s; // Inputting Number printf("Enter the Number : "); scanf("%d",&n); // Calling function "sum" with actual parameter "n" passed to it s=sum(n); // Checking and Displaying if a Number is Armstron or Not if(s==n) printf("%d is an Armstrong Number ",n); else printf("%d is not an Armstrong Number ",n); getch(); // Linux user - Remove this return 0; }
8. Program to print the fibonacci series upto nth terms using recursion
/* Fibonacci Series : 0 1 1 2 3 5 8 13 21 34 upto nth terms. */ #include<conio.h> #include<stdio.h> // Linux user - Remove this // Defining function with parameter n = number int fibo(int n) { /* Base condition : Any condition where a recursive function or method does not invoke itself. */ if(n==1) return 0; else if(n==2) return 1; // Continue calling function fibo else if(n>2) return fibo(n-1)+fibo(n-2); } int main() { // Declaring variable n = number int n; /* Declaring variable "i" to iterate loop and "term"=holds the current number to help print the fibonacci series */ int i, term; // Inputting Number printf("Enter the value of n\n"); scanf("%d",&n); // Calling function fibo with actual parameter "n" passed to it and displaying the value. for(i=1;i<=n;i++) { term=fibo(i); printf("%d ",term); } getch(); // Linux user - Remove this return 0; }
9. Program to print first "n" natural numbers in reverse order
#include<conio.h> // Linux user - Remove this #include<stdio.h> // Defining function with parameter n = number void natural(int n) { /* Base condition : Any condition where a recursive function or method does not invoke itself. */ if(n<=1) printf("%d ",n); // Continue calling function natural else { printf("%d ",n); natural(n-1); } } int main() { // Declaring variable n = number int n; // Inputting Number printf("Enter the value of n\n"); scanf("%d",&n); // Displaying the value. printf("First %d Natural Numbers in reverse order : \n",n); // Calling function natural with actual parameter "n" passed to it natural(n); getch(); // Linux user - Remove this return 0; }
10. Program to print pattern :
/* * * * * * * * * * * * * * * * */ #include<stdio.h> #include<conio.h> // Linux user - Remove this int recursion(i,j) { if(i>5) return 0; else if(j<=i) { printf("* "); recursion(i,j+1); } else { printf("\n"); recursion(i+1,1); } } int main() { recursion(1,1);
getch(); // Linux user - Remove this return 0; }
11. Program to print pattern :
/* * * * * * * * * * * * * * * * till n terms */ #include<stdio.h> #include<conio.h> // Linux user - Remove this int recursion(i,j,n) { if(i>n) return 0; else if(j<=i) { printf("* "); recursion(i,j+1,n); } else { printf("\n"); recursion(i+1,1,n); } } int main() { int n; printf("Enter the value till which you want to print the patter:"); scanf("%d",&n); recursion(1,1,n);
getch(); // Linux user - Remove this return 0; }