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