100日間のコードチャレンジ


*再帰
*
再帰は、いくつかの条件(条件が基底ケースと呼ばれる)まで到達する過程である.

再帰の要点は以下の通りです。

  • 再帰関数呼び出し.
  • ベースケース.
  • ベースケース:-それは再帰的な呼び出しの停止条件です.
    構文:- static int fact(int n)
    {
    if(n==0)
    return 1
    return n*fact(n-1)
    }
    例:再帰を使用したpalindromeチェック
    palindromeは、両側から見られる数です.
    import java.util.Scanner;
    
    //Palindrome check with recursion
    public class Palli {
        public int temp = 0;
    
        static int getReverse(int n, int temp) {
            if (n == 0)
                return temp;
            temp = temp * 10 + n % 10;
            return getReverse(n / 10, temp);
        }
    
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            int n, temp = 0;
            System.out.println("Enter the Number");
            n = sc.nextInt();
            int cnum = getReverse(n, temp);
            System.out.println(cnum);
            if (n == cnum)
                System.out.println("The Number is a pallindrome");
            else
                System.out.println("The Number is not pallindrome");
        }
    }
    
    例2 : -数字の合計
    数字の合計は、数が与えられ、数の各桁の合計を計算する必要がある問題です.
    例: 253 = 2 + 5 + 3 = 10
    import java.util.Scanner;
    
    public class SOD {
        static int soD(int n) {
            if (n == 0)
                return 0;
            return soD(n / 10) + n % 10;
        }
    
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            int n = sc.nextInt();
            System.out.println(soD(n));
        }
    }