Program Java untuk Mengidentifikasi Angka Armstrong Menggunakan Loop For
Apa Itu Angka Armstrong?
Angka Armstrong (juga dikenal sebagai angka narcisistik) adalah angka yang sama dengan jumlah digitnya masing-masing dipangkatkan dengan jumlah total digit.
Secara matematis, untuk angka dengan digit x, y, … z dan n digit, yang berikut berlaku:
xy…z = xn + yn + … + zn
Contoh angka Armstrong meliputi:
0, 1, 4, 5, 9, 153, 371, 407, 8208, …
Program Java untuk Memeriksa Apakah Sebuah Angka adalah Angka Armstrong
Berikut adalah implementasi Java yang ringkas yang memverifikasi apakah integer tertentu adalah angka Armstrong. Algoritma mengiterasi setiap digit, mengakumulasi kubus digit (karena kami fokus pada angka tiga digit), dan membandingkan jumlahnya dengan angka asli.
// Check whether a number is an Armstrong number using a while loop package com.guru99; public class ArmstrongNumber { public static void main(String[] args) { int inputArmstrongNumber = 153; // Number to test int tempNumber, digit, digitCubeSum = 0; tempNumber = inputArmstrongNumber; while (tempNumber != 0) { System.out.println("Current Number is " + tempNumber); digit = tempNumber % 10; System.out.println("Current Digit is " + digit); digitCubeSum += digit * digit * digit; System.out.println("Current digitCubeSum is " + digitCubeSum); tempNumber /= 10; } if (digitCubeSum == inputArmstrongNumber) System.out.println(inputArmstrongNumber + " is an Armstrong Number"); else System.out.println(inputArmstrongNumber + " is not an Armstrong Number"); } } Output
Current Number is 153 Current Digit is 3 Current digitCubeSum is 27 Current Number is 15 Current Digit is 5 Current digitCubeSum is 152 Current Number is 1 Current Digit is 1 Current digitCubeSum is 153 153 is an Armstrong Number
Program Java untuk Mencantumkan Semua Angka Armstrong Dari 0 hingga 999
Program berikut menunjukkan cara mencantumkan setiap angka Armstrong dalam rentang 0-999. Ini menggunakan loop for untuk rentang dan loop while untuk memproses setiap kandidat.
// Enumerate Armstrong numbers between 0 and 999 package com.guru99; public class ArmstrongNumber { public static void main(String[] args) { for (int inputArmstrongNumber = 0; inputArmstrongNumber < 1000; inputArmstrongNumber++) { int tempNumber = inputArmstrongNumber; int digitCubeSum = 0; while (tempNumber != 0) { int digit = tempNumber % 10; digitCubeSum += digit * digit * digit; tempNumber /= 10; } if (digitCubeSum == inputArmstrongNumber) System.out.println(inputArmstrongNumber + " is an Armstrong Number"); } } } Output
0 is an Armstrong Number 1 is an Armstrong Number 153 is an Armstrong Number 370 is an Armstrong Number 371 is an Armstrong Number 407 is an Armstrong Number