Universidad de Costa Rica
|
|
Armstrong.pas
, que se muestra a
continuación, de acuerdo a las Convenciones de
Programación descritas en
[DiM88a].
PROGRAM Armstrong; { Determina cuantos numeros son de Armstrong, desde 1 hasta numero. Un numero es de Armstrong si la suma de los digitos que lo componen al cubo es igual al numero. Por ejemplo 153 es un numero de Arms.} CONST n = 3000; VAR numero, suma, digito, temp : INTEGER; begin WriteLn('Numeros encontrados (1 .. 3000)'); WriteLn(' que son de Armstrong:'); WriteLn; for numero:=1 to n do begin suma:=0; temp:=numero; WHILE temp <> 0 DO BEGIN { suma de digitos } digito:= temp MOD 10; { al cubo } suma:= suma+(digito*digito*digito); temp:= temp DIV 10 END; IF suma = numero then WriteLn(numero,' Suma de su digitos al cubo ', suma); end;{ FOR } ReadLn; END. { Armstrong } |
Armstrong.pas
[DiM88a] | Di Mare, Adolfo:
Convenciones de Programación para
Pascal,
Reporte Técnico ECCI0188, Proyecto
32686053,
http:// www.di-mare.com /adolfo/p/ convpas.htm ,
Escuela de Ciencias de la Computación e
Informática
(ECCI),
Universidad de Costa Rica
(UCR),
1988.
|
PROGRAM Armstrong; { RESULTADO Determina cuantos números son de Armstrong, desde 1 hasta N. - Un número es de Armstrong si la suma de los dígitos que lo componen elevados al cubo es igual al número. - Por ejemplo 153 es un número de Armstrong porque 3 3 3 153 = 1 + 5 + 3 = 1^3 + 5^3 + 3^3 } CONST N = 3000; VAR numero, suma, digito, temp : INTEGER; BEGIN { Armstrong } Write('Números encontrados (1 .. '); WriteLn(N:1, ') que son de Armstrong:'); WriteLn; FOR numero := 1 TO N DO BEGIN suma := 0; temp := numero; WHILE temp <> 0 DO BEGIN { suma de dígitos } digito := temp MOD 10; { al cubo } suma := suma + (digito * digito * digito); temp := temp DIV 10; END; IF suma = numero THEN BEGIN WriteLn(numero,' Suma de sus dígitos al cubo ', suma); END; END; END. { Armstrong } |
Armstrong.pas
Adolfo Di Mare <adolfo@di-mare.com>.
|