Програма Java для перевірки номера Армстронга

У цій програмі ви навчитеся перевіряти, чи є дане число армстронговим чи ні. Ви навчитесь робити це, використовуючи цикл for і while в Java.

Щоб зрозуміти цей приклад, ви повинні знати такі теми програмування Java:

  • Java в той час як і робити … в той час як Loop
  • Заява про Java, якщо … ще
  • Java для циклу

Позитивне ціле число називається числом Армстронга порядку n, якщо

abcd… = a n + b n + c n + d n +…

У разі числа Армстронга з 3 цифр сума кубів кожної цифри дорівнює самому числу. Наприклад:

 153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3 // 153 - число Армстронга. 

Приклад 1: Перевірте число Армстронга на наявність 3-значного числа

 public class Armstrong ( public static void main(String() args) ( int number = 371, originalNumber, remainder, result = 0; originalNumber = number; while (originalNumber != 0) ( remainder = originalNumber % 10; result += Math.pow(remainder, 3); originalNumber /= 10; ) if(result == number) System.out.println(number + " is an Armstrong number."); else System.out.println(number + " is not an Armstrong number."); ) )

Вихідні дані

 371 - число Армстронга.
  • По-перше, значення даного числа (числа) зберігається в іншій цілочисельній змінній, originalNumber. Це тому, що нам потрібно порівняти значення кінцевого числа та вихідного числа в кінці.
  • Потім цикл while використовується для циклу через originalNumber, поки він не дорівнює 0.
    • На кожній ітерації остання цифра числа зберігається в залишку.
    • Потім залишок отримує значення 3 (кількість цифр) за допомогою Math.pow()функції та додається до результату.
    • Потім остання цифра видаляється з originalNumber після ділення на 10.
  • Нарешті, результат і число порівнюються. Якщо воно рівне, це число Армстронга. Якщо ні, то ні.

Приклад 2: Перевірте число Армстронга на n цифр

 public class Armstrong ( public static void main(String() args) ( int number = 1634, originalNumber, remainder, result = 0, n = 0; originalNumber = number; for (;originalNumber != 0; originalNumber /= 10, ++n); originalNumber = number; for (;originalNumber != 0; originalNumber /= 10) ( remainder = originalNumber % 10; result += Math.pow(remainder, n); ) if(result == number) System.out.println(number + " is an Armstrong number."); else System.out.println(number + " is not an Armstrong number."); ) )

Вихідні дані

 1634 - число Армстронга.

У цій програмі ми замість циклу while ми використали два для циклів.

Перший цикл for використовується для підрахунку кількості цифр у кількості. Це ущільнена форма:

 for (; originalNumber! = 0; originalNumber / = 10) (n ++;)

Потім другий цикл for обчислює результат, де на кожній ітерації залишок забезпечується кількістю цифр n.

Відвідайте цю сторінку, щоб дізнатись, як можна відображати всі армстронг-цифри між двома інтервалами.

Цікаві статті...