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

โปรแกรม Java หาเลขอาร์มสตรอง (Armstrong Number) ระหว่าง 2 ตัวเลข

ในบทความนี้ เราจะเรียนรู้วิธีหาเลขอาร์มสตรองระหว่าง 2 ตัวเลขในภาษา Java เลขอาร์มสตรอง (Armstrong Number) คือเลขที่เท่ากับผลรวมของกำลังสามของหลักตัวเอง

ตัวอย่าง

153 = 1³ + 5³ + 3³ = 1 + 125 + 27 = 153 ✓

371 = 3³ + 7³ + 1³ = 27 + 343 + 1 = 371 ✓

407 = 4³ + 0³ + 7³ = 64 + 0 + 343 = 407 ✓

ตัวอย่างการทำงาน

อินพุต:

1 & 500

เอาต์พุต:

Armstrong numbers between 1 and 500 are: 1, 153, 370, 371, 407

อัลกอริทึม

  1. เริ่มต้นโปรแกรม
  2. ประกาศตัวแปร: input_1, input_2, check, rem, sum, i
  3. รับค่าช่วงเริ่มต้นและสิ้นสุดจากผู้ใช้ หรือกำหนดค่าไว้ล่วงหน้า
  4. วนลูป for จาก input_1 ถึง input_2
  5. แยกแต่ละหลักด้วย % 10 และ / 10 คำนวณกำลังสามบวกสะสม
  6. เปรียบเทียบผลรวมกับตัวเลขเดิม
  7. แสดงผลลัพธ์
  8. จบโปรแกรม

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

import java.util.Scanner;

public class ArmstrongNumbers {
    public static void main(String args[]) {
        int input_1, input_2, check, rem, sum, i;

        Scanner my_scanner = new Scanner(System.in);
        System.out.println("Required packages have been imported");
        System.out.println("A scanner object has been defined");
        System.out.println("Enter the first number:");
        input_1 = my_scanner.nextInt();
        System.out.println("Enter the limit:");
        input_2 = my_scanner.nextInt();

        System.out.println("The Armstrong numbers are:");
        for (i = input_1; i < input_2; i++) {
            sum = 0;
            check = i;
            while (check != 0) {
                rem = check % 10;
                sum = sum + (rem * rem * rem);
                check = check / 10;
            }
            if (sum == i) {
                System.out.println(i);
            }
        }
    }
}

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

public class ArmstrongNumbers {
    public static void main(String args[]) {
        int input_1 = 1, input_2 = 500, check, rem, sum, i;

        System.out.printf("The first number is %d and the limit is %d ", input_1, input_2);
        System.out.println("\nThe Armstrong numbers are:");

        for (i = input_1; i < input_2; i++) {
            sum = 0;
            check = i;
            while (check != 0) {
                rem = check % 10;
                sum = sum + (rem * rem * rem);
                check = check / 10;
            }
            if (sum == i) {
                System.out.println(i);
            }
        }
    }
}

Armstrong Numbers 3 หลัก (1-999)

มีทั้งหมด 5 ตัว: 1, 153, 370, 371, 407