-
x-reynik-x.
User deleted
CITAZIONE (Ace. @ 5/11/2009, 21:09)Ecco il mio in Pascal:CODICEprogram numeri_felici;
uses crt;
var x,y,num,somma:integer;
ris:boolean;
begin
readln(x);
num:=x;
somma:=0;
ris:=false;
while (x>1) and not(ris) do
begin
while num>0 do
begin
y:=num mod 10;
somma:=somma+sqr(y);
num:=num div 10;
end;
if somma=1 then
ris:=true;
num:=somma;
somma:=0;
if num=4 then
ris:=true;
end;
if num=1 then
writeln(x,' è un numero felice')
else
writeln(x,' non è un numero felice');
readln
end.
L'ho compilato con dev-pascal e il resoconto è questo: se il numero è felice scrive che lo è... però se non lo è non scrive niente XD quindi in qualche modo è giusto.
EDIT: ho modificato il secondo "if" dentro il ciclo e ora va. In pratica mi pare di aver capito (leggendo da Wikipedia) che quando un numero non è felice durante la sequenza diventa sempre,ad un certo punto, 4, ma non sono sicuro, correggetemi se sbaglio.
Come funziona?.