Số hữu nghị (Đề thi Tin học trẻ toàn quốc lần I – 1995) trong Pascal

13
Lập trình Pascal

Đề thi Tin học trẻ toàn quốc lần I – 1995

Hai số tự nhiên A, B được coi là hữu nghị nếu như số này bằng tổng các ước số của số kia và ngược lại. Lập trình tìm và chiếu lên màn hình các cặp số hữu nghị trong phạm vi từ 1 đến 10000. (Lưu ý: số 1 được coi là ước số của mọi số còn mỗi số không được coi là ước số của chính nó).

Program Cap_so_huu_nghi;
Var a,b,n,i:integer;
Function TU(a:integer):integer;
Var Tg,i:integer;
Begin
    Tg:=0;
    For i:=1 to a-1 do 
         if (a mod i = 0) then Tg:=Tg + i;
    TU:=Tg;
End;
Begin
     Write('Nhap so n: ');Readln(n);
     For a:=1 to n do 
        Begin 
            b:=TU(a); 
            if TU(b)=a then Writeln(a,'-',b)  
         end;
     Readln;
End.

Nhận xét: Các số hoàn chỉnh là các số hữu nghị của chính nó.