14.6.34. Napisati program za ispis trocifrenih brojeva koji su jedanki sumi kubova svojih cifara (Amstrongov broj).

Opis rješenja: Izdvajanje cifara iz dvocivrenog broja je:
a := i DIV 100; - Količnik dijeljenja sa 100 je cifra desetica
b := i MOD 100 DIV 10; Ostatak dijeljnja sa 100 je dvocifren broj a dijeljnjem dvocifrenog broja sa 10 cjelobrojni količnik je cifra desetica.
c := i MOD 10; Ostatak dijeljna sa 10 je cifra jedinica.
Sabiraju se kubovi svih cifara i provjera da li je suma jednak trocifrenom broju. Ako je ispunjen uslov to je Amstrongov broj.

Listing programa:

PROGRAM p14612034;
USES
  WinCrt;
VAR
  a, b, c, i : INTEGER;
BEGIN
  WRITELN('Amstrongovi broji');
  FOR i := 100 TO 999 DO
    BEGIN
      a := i DIV 100;
      b := i MOD 100 DIV 10;
      c := i MOD 10;
      IF a*a*a + b*b*b + c*c*c = i THEN  
        WRITELN(i,  ' Amstrongov broj');
    END;
END.

Izvođenje programa:
153
370
371
407

Index