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:
s = INT(i / 100) - Količnik dijeljenja sa 100 je cifra desetica
d = INT((i MOD 100)/10) Ostatak dijeljnja sa 100 je dvocifren broj a dijeljnjem dvocifrenog broja sa 10 cjelobrojni količnik je cifra desetica.
j = 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:
REM 14612034
PRINT "Amstrongovi broj"
FOR i = 100 TO 999
s = INT(i / 100) : REM stotice
d = INT((i MOD 100) / 10) : REM desetice ili INT(i / 10) MOD 10 ili INT((i - s * 100) / 10)
j = i MOD 10 : REM jedinice
: REM Amstrongov broj
IF (s * s * s + d * d * d + j * j * j) = i THEN
PRINT i; " Amstrongov broj"
END IF
NEXT i
END
Izvođenje programa:
153
370
371
407
Index
|