Run Code
|
API
|
Code Wall
|
Users
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
es_perfecto.adb
with Ada.Integer_text_io; use Ada.Integer_text_io; procedure Numeros_perfectos is --Entrada: serie de enteros positivos terminada en -1 --Salida: serie de numeros enteros positivos --post: los numeros son los de la entrada que son perfectos (en ese mismo orden) function es_perfecto(Num:in Positive) return Boolean is --post: resultado= true <--> (sii) Num es perfecto suma: integer := 0; resultado : Boolean :=true; begin for i in reverse 1..Num-1 loop if Num rem i = 0 then --i es divisor de Num suma := suma + i; end if; end loop; if suma /= Num then resultado := false; end if; return resultado; --return suma = Num; end es_perfecto; N:Integer; seguir: Boolean := true; begin while seguir=true loop get(N); if N = -1 then seguir := false; elsif es_perfecto(Num=>N) = true then Put(N); end if; end loop; end Numeros_perfectos; -- 1 2 3 4 5 6 7 28 9 496 10 8128 -1 -- * ** *** **** --
run
|
edit
|
history
|
help
0
Please
log in
to post a comment.
Ada Dimentional System
Dynamic Dispatching with dynamic allocation
division_emtera_p.adb
susuma_dos_enteros.adb
Iterator Interface
Ada nested lexical scope
nested ADA code, same procedure name
Controlled types (temporary anonymous objects)
Ada Dimentional System
ada rocks!
Please log in to post a comment.