Program S2 ;
Var
n : integer ;
//***********************************
Procedure saisie (Var n :integer) ;
Begin
Repeat
Write('Donner un entier positif : ') ;
Readln(n) ;
Until n>0 ;
End ;
//***********************************
Function verifier(n :integer) : boolean ;
Var
i,s,d,e : integer ;
ch : string ;
Begin
Repeat
STR(n,ch) ;
s := 0 ;
For i :=1 To length(ch) Do
Begin
Val(ch[i],d,e) ;
s := s+SQR(d) ;
End ;
n := s ;
Until n<=9 ;
verifier := (n=1) ;
End ;
//***********************************
Begin
saisie(n) ;
If verifier(n) Then
write (n,' est heureux')
Else
write (n,' n''est pas heureux') ;
End.
Inscription à :
Publier les commentaires (Atom)