Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

โปรแกรม Java หาผลรวมจำนวนธรรมชาติ (Sum of Natural Numbers) ด้วย Recursion


ในบทความนี้ เราจะทำความเข้าใจวิธี หาผลรวมจำนวนธรรมชาติ (Natural Numbers) ด้วย Recursion

จำนวนธรรมชาติ (Natural Numbers) คือจำนวนเต็มบวก 1, 2, 3, ... ไปเรื่อยๆ

สูตร: Sum(n) = n + Sum(n-1) โดย Base Case: Sum(0) = 0

ตัวอย่าง Input และ Output

Input:

Enter the number : 25

Output:

The sum of natural numbers up to 25 is 325

อัลกอริธึม

ขั้นตอนที่ 1 - เริ่มต้น
ขั้นตอนที่ 2 - ประกาศตัวแปร my_input, my_sum
ขั้นตอนที่ 3 - อ่านค่าจากผู้ใช้ หรือกำหนดค่าเริ่มต้น
ขั้นตอนที่ 4 - สร้างฟังก์ชัน Add แบบ recursive รับ int คืน int
ขั้นตอนที่ 5 - ถ้า my_input > 0 คืน my_input + Add(my_input - 1) มิฉะนั้นคืน my_input
ขั้นตอนที่ 6 - เรียกฟังก์ชันและแสดงผล
ขั้นตอนที่ 7 - หยุด

ตัวอย่างที่ 1: รับค่าจากผู้ใช้

import java.util.Scanner;
public class NaturalNumbers {
    public static void main(String[] args) {
        int my_input, my_sum;
        System.out.println("Required packages have been imported");
        Scanner my_scanner = new Scanner(System.in);
        System.out.println("A reader object has been defined");
        System.out.print("Enter the number : ");
        my_input = my_scanner.nextInt();
        System.out.println("The number is defined as " + my_input);
        my_sum = Add(my_input);
        System.out.println("The sum of natural numbers up to " + my_input + " is " + my_sum);
    }
    public static int Add(int my_input) {
        if (my_input > 0)
            return my_input + Add(my_input - 1);
        else
            return my_input;
    }
}

Output

Required packages have been imported
A reader object has been defined
Enter the number : 25
The number is defined as 25
The sum of natural numbers up to 25 is 325

ตัวอย่างที่ 2: กำหนดค่าไว้ล่วงหน้า

public class NaturalNumbers {
    public static void main(String[] args) {
        int my_input, my_sum;
        my_input = 25;
        System.out.println("The number is defined as " + my_input);
        my_sum = Add(my_input);
        System.out.println("The sum of natural numbers up to " + my_input + " is " + my_sum);
    }
    public static int Add(int my_input) {
        if (my_input > 0)
            return my_input + Add(my_input - 1);
        else
            return my_input;
    }
}

Output

The number is defined as 25
The sum of natural numbers up to 25 is 325