Contoh rekursi. Tambahkan dua bilangan bulat

By | November 16, 2022

Mangihin.com.

Selamat Membaca, semoga informasi ini bermanfaat dan dapat membantu anda.

Metode Java yang menghitung jumlah dua bilangan bulat secara rekursif.

Solusi rekursif untuk menambahkan dua bilangan bulat didasarkan pada yang berikut:

Kasus Dasar:

Jika salah satu bilangan sama dengan nol, maka jumlahnya adalah bilangan lainnya.

Misalnya, jika kita ingin menambahkan a=3 dan b=0 jumlahnya sama dengan a: sum=3

jika == 0

jumlahnya adalah b

lain jika b == 0

jumlah adalah untuk

prosedur rekursif:

Jika tidak satu pun dari dua angka yang akan ditambahkan sama dengan nol, jumlah keduanya dapat dinyatakan sebagai:

jumlah = 1 + jumlah(a, (b-1))

Sebagai contoh:

Diberikan bilangan a=3 dan b=4

jumlah 3 + 4 sama dengan menambahkan 1 + (3 + 3)

Pada gilirannya, menambahkan 3 + 3 sama dengan 1 + (3 + 2)

Jika kita ulangi proses sampai b adalah 0 kita akan mendapatkan jumlah secara rekursif:

Kode metodenya adalah sebagai berikut:

/*
 *   Mtodo recursivo que calcula la suma de dos nmeros enteros
 */
public static int suma(int a, int b) {                                                                            
    if (b == 0) {
        return a;
    } else if (a == 0) {
               return b;
    } else {
          return 1 + suma(a, b - 1);                                                                              
    }
}

Sebagai contoh penggunaan, kita akan menulis program yang membaca dua bilangan bulat dan menunjukkan jumlah menggunakan metode rekursif:

import java.util.*;
public class Recursividad1 {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n1, n2;
        System.out.print("Introduzca primer numero: ");                                                           
        n1 = sc.nextInt();
        System.out.print("Introduzca segundo numero: ");
        n2 = sc.nextInt();
        System.out.println("suma: " + suma(n1, n2));                                                              

    }
    public static int suma(int a, int b) {
        if (b == 0) {
            return a;
        } else if (a == 0) {
            return b;
        } else {
            return 1 + suma(a, b - 1);
        }
    }
}