Số Armstrong là gì?
Trong một Số Armstrong, tổng lũy thừa của các chữ số riêng lẻ bằng chính số đó.
Nói cách khác, phương trình sau sẽ đúng
xy… z = xn + yn+… + zn
n là số lượng số
Ví dụ, đây là số Armstrong có 3 chữ số
370 = 33 + 73 + o3= 27 + 343 + 0= 370
Ví dụ về số Armstrong
0, 1, 4, 5, 9, 153, 371, 407, 8208, etc.
Hãy viết điều này trong một chương trình:
Chương trình Java để kiểm tra xem một số có phải là Số Armstrong hay không
// ChecktempNumber là Armstrong hay không sử dụng vòng lặp whilegói com.guru99;hạng công khai ArmstrongNumber {public static void main (String [] args) {int inputArmstrongNumber = 153; // Nhập số để kiểm tra armstrongint tempNumber, digit, digitCubeSum = 0;tempNumber = inputArmstrongNumber;trong khi (tempNumber! = 0){/ * Trên mỗi lần lặp, phần còn lại được cung cấp bởi thetempSố chữ số n* /System.out.println ("Số hiện tại là" + tempNumber);chữ số = tempNumber% 10;System.out.println ("Số hiện tại là" + chữ số);// tổng các khối của mỗi chữ số bằng chính thetempNumberdigitCubeSum = digitCubeSum + chữ số * chữ số * chữ số;System.out.println ("digitCubeSum hiện tại là" + digitCubeSum);tempNumber / = 10;}// kiểm tra giventempNumber và digitCubeSum có bằng hay khôngif (digitCubeSum == inputArmstrongNumber)System.out.println (inputArmstrongNumber + "là một Số Armstrong");khácSystem.out.println (inputArmstrongNumber + "không phải là Số Armstrong");}}Đầu ra
Current Number is 153Current Digit is 3Current digitCubeSum is 27Current Number is 15Current Digit is 5Current digitCubeSum is 152Current Number is 1Current Digit is 1Current digitCubeSum is 153153 is an Armstrong Number
Chương trình Java để in các số Armstrong từ 0 đến 999
// ChecktempNumber là Armstrong hay không sử dụng vòng lặp whilegói com.guru99;hạng công khai ArmstrongNumber {public static void main (String [] args) {int tempNumber, digit, digitCubeSum;for (int inputArmstrongNumber = 0; inputArmstrongNumber <1000; inputArmstrongNumber ++) {tempNumber = inputArmstrongNumber;digitCubeSum = 0;trong khi (tempNumber! = 0) {/ * Trên mỗi lần lặp, phần còn lại được cung cấp bởi thetempSố chữ số n* /chữ số = tempNumber% 10;// tổng các khối của mỗi chữ số bằng chính thetempNumberdigitCubeSum = digitCubeSum + chữ số * chữ số * chữ số;tempNumber / = 10;}// kiểm tra giventempNumber và digitCubeSum có bằng hay khôngif (digitCubeSum == inputArmstrongNumber)System.out.println (inputArmstrongNumber + "là một Số Armstrong");}}}Đầu ra
0 is an Armstrong Number1 is an Armstrong Number153 is an Armstrong Number370 is an Armstrong Number371 is an Armstrong Number407 is an Armstrong Number