Tail Recursion GFG
package com.company;
public class CWR_Print_Nto1_Gfg {
// factorial of a number using tail recursion
public static int factorial1(int n, int k){
if ( n == 0 || n == 1){
return k;
}
return factorial1(n-1, k*n);
}
// factorial of a number
public static int factorial(int n) {
if (n == 0 || n == 1) {
return 1;
}
return n * factorial(n - 1);
}
// Printing N to 1 using recursion
public static void print(int n) {
if (n == 0) {
return;
}
System.out.println(n);
print(n - 1);
}
// Printing 1 to N using recursion
public static void print1(int n) {
if (n == 0) {
return;
}
print1(n - 1);
System.out.println(n);
}
// Printing 1 to N using tail recursion
public static void print1(int n, int k) {
if (n == 0) {
return;
}
System.out.println(k);
print1(n - 1, k + 1);
}
public static void main(String[] args) {
print1(10, 1);
System.out.println(factorial1(5,1));
}
}
Comments
Post a Comment