|
Written by Administrator
|
|
Monday, 22 December 2008 17:11 |
Source : Bac pratique 220 et 284 sont deux nombres amis. En effet : D284 = {1, 2, 4, 71, 142, 284} D220 = {1, 2, 4, 5, 10, 11, 20, 22, 44, 55, 110, 220} D284 et D220 sont respectivement les ensembles de tous les diviseurs de 284 et de 220. 284 = 1 + 2 + 4 + 5 + 10 + 11 + 20 + 22 + 44 + 55 + 110 220 = 1 + 2 + 4 + 71 + 142 Ecrire un programme Pascal qui permet de déterminer puis d'afficher si deux entiers naturels donnés m et n sont amis ou non.
Correction : En Pascal Program amis; Uses WinCrt; Var m,n:integer; Procedure lire(Var x:integer); Begin Repeat Writeln('Donnez un entier strictement positIf'); Readln(x); Until (x > 0); End; Function somme_Div (x:integer): integer; Var i,s:integer; Begin s:=1; For i:= 2 To x Do If (x Mod i) = 0 Then s:= s + i; somme_Div := s; End; Begin lire(m); lire(n); If ((somme_Div(m) - m) = n) and ((somme_Div(n) - n ) = m) Then Writeln (m,' et ',n,' sont deux nombres amis') Else Writeln (m,' et ',n,' ne sont pas deux nombres amis');
|