Program:
REPORT z_armstrong_number.
DATA: lv_num TYPE i,
lv_temp TYPE i,
lv_rem TYPE i,
lv_sum TYPE i VALUE 0.
PARAMETERS: p_num TYPE i.
lv_num = p_num.
lv_temp = lv_num.
WHILE lv_temp > 0.
lv_rem = lv_temp MOD 10.
lv_sum = lv_sum + ( lv_rem * lv_rem * lv_rem ).
lv_temp = lv_temp DIV 10.
ENDWHILE.
IF lv_sum = lv_num.
WRITE: / lv_num, 'is an Armstrong Number.'.
ELSE.
WRITE: / lv_num, 'is NOT an Armstrong Number.'.
ENDIF.
0 Comments