Program S3;
Var
n : longint;
//*************************************
Procedure saisie(Var n : longint);
Begin
Repeat
Write('Donner un entier >= 10 : ');
Readln(n);
Until (n >= 10);
End;
//*************************************
Function inverse(n : longint) : longint;
Var
v : longint;
Begin
v := 0;
While (n <> 0) Do
Begin
v := v * 10 + n Mod 10;
n := n Div 10;
End;
inverse := v;
End;
//*************************************
Function palindrome(n : longint) : boolean;
Begin
palindrome := inverse(n) = n;
End;
Procedure palindromique(n : longint);
Var
i : integer;
p : boolean;
Begin
i := 0;
Repeat
i := i + 1;
Write(n, ', ');
p := palindrome(n);
n := n + inverse(n);
Until (p) Or (i = 11);
Writeln;
If (Not p) And (i = 11) Then
Writeln('Le calcul de 11 termes ne donne pas une suite palindromique')
Else
Writeln('Suite palindromique');
End;
//*************************************
Begin
saisie(n);
palindromique(n);
End.
Inscription à :
Publier les commentaires (Atom)