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
|