V tomto programe sa naučíte zobrazovať všetky silné čísla medzi dvoma danými intervalmi, nízkym a vysokým, v Jave.
Aby ste pochopili tento príklad, mali by ste mať znalosti nasledujúcich tém programovania v jazyku Java:
- Java zatiaľ čo a robiť … zatiaľ čo Loop
- Vyhlásenie Java, ak … else
- Java pre slučku
Kladné celé číslo sa nazýva Armstrongovo číslo rádu n, ak
abcd … = a n + b n + c n + d n + …
V prípade Armstrongovho čísla s 3 číslicami sa súčet kociek každej číslice rovná číslu samotnému. Napríklad:
153 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3 // 153 je Armstrongovo číslo.
Tento program je postavený na koncepcii toho, ako skontrolovať, či je celé číslo Armstrongovo číslo alebo nie.
Príklad: Armstrong čísla medzi dvoma celými číslami
public class Armstrong ( public static void main(String() args) ( int low = 999, high = 99999; for(int number = low + 1; number < high; ++number) ( int digits = 0; int result = 0; int originalNumber = number; // number of digits calculation while (originalNumber != 0) ( originalNumber /= 10; ++digits; ) originalNumber = number; // result contains sum of nth power of its digits while (originalNumber != 0) ( int remainder = originalNumber % 10; result += Math.pow(remainder, digits); originalNumber /= 10; ) if (result == number) System.out.print(number + " "); ) ) )
Výkon
1634 8208 9474 54748 92727 93084
Vo vyššie uvedenom programe sa kontroluje každé číslo medzi daným intervalom medzi najvyššou a najnižšou hodnotou.
Po každej kontrole sa počet číslic a výsledok súčtu obnoví na 0.