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

โปรแกรม Java เพื่อตรวจสอบหมายเลข Armstrong ระหว่างสองจำนวนเต็ม


ในบทความนี้ เราจะเข้าใจวิธีการแสดงตัวเลข Armstrong ระหว่างตัวเลขสองตัวที่ระบุใน Java ตัวเลขอาร์มสตรองคือตัวเลขที่เท่ากับผลรวมของลูกบาศก์ของตัวเลขของมันเอง

จำนวนเต็มเรียกว่าหมายเลขลำดับอาร์มสตรอง n หากทุกหลักแยกออกและลูกบาศก์และสรุปผลรวมจะเหมือนกับตัวเลขเช่น abcd... =a3 + b3 + c3 + d3 + ...

ในกรณีของตัวเลขอาร์มสตรอง 3 หลัก ผลรวมของลูกบาศก์ของแต่ละหลักจะเท่ากับตัวเลขนั้นเอง ตัวอย่างเช่น 153 คือหมายเลข Armstrong

153 = 13 + 53 + 33

ตัวอย่างเช่น − 371 คือหมายเลข Armstrong

371 = 27 + 343 + 1

สมมติว่าเราต้องการหมายเลขอาร์มสตรองระหว่างสองตัวเลข ด้านล่างนี้เป็นการสาธิตสิ่งเดียวกัน -

ป้อนข้อมูล

สมมติว่าข้อมูลที่เราป้อนคือ −

1 & 500

ผลผลิต

ผลลัพธ์ที่ต้องการจะเป็น −

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

อัลกอริทึม

Step1- Start
Step 2- Declare four integers: my_input_1, my_input_2, i and sum
Step 3- Prompt the user to enter two integer value/ define the integers
Step 4- Read the values
Step 5- Run a for loop to generate Armstrong numbers using %, / and * operator
Step 6- Divide by 10 and get remainder for 'check' .
Step 7- Multiply 'rem' thrice, and add to 'sum', and make that the current ‘sum’.
Step 8- Divide 'check' by 10, and make that the current 'check'.
Step 9- Display the result
Step 10- Stop

ตัวอย่างที่ 1

ที่นี่ ผู้ใช้ป้อนอินพุตตามข้อความแจ้ง คุณสามารถลองใช้ตัวอย่างนี้ในเครื่องมือกราวด์ของเรา โปรแกรม Java เพื่อตรวจสอบหมายเลข Armstrong ระหว่างสองจำนวนเต็ม .

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 Armstorm 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);
         }
      }
   }
}

ผลลัพธ์

Required packages have been imported
A scanner object has been defined
Enter the first number :
1
Enter the limit :
500
The Armstorm numbers are :
1
153
370
371
407

ตัวอย่างที่ 2

ในที่นี้ มีการกำหนดจำนวนเต็มก่อนหน้านี้ และเข้าถึงและแสดงค่าบนคอนโซล

public class ArmstrongNumbers {
   public static void main(String args[]){
      int input_1, input_2, check, rem, sum, i;
      input_1 = 1;
      input_2 = 500;
      System.out.printf("The first number is %d and the limit is %d ", input_1, input_2);
      System.out.println("\nThe Armstorm 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);
         }
      }
   }
}

ผลลัพธ์

The first number is 1 and the limit is 500
The Armstorm numbers are :
1
153
370
371
407