- 4 Tháng năm 2018
- 1,485
- 1,656
- 236
- Vĩnh Phúc
- Trung học cơ sở Lập Thạch
Chắc suất Đại học top - Giữ chỗ ngay!! ĐĂNG BÀI NGAY để cùng trao đổi với các thành viên siêu nhiệt tình & dễ thương trên diễn đàn.
Đề: hai số tự nhiên a,b được gọi là hữu nghị nếu như số này bằng tổng các ước nguyên dương của số kia ( ước không kể chính nó) và ngược lại. Hãy tìm tất cả các cặp số từ 2 đến N thỏa mãn điều kiện a<=b . Có bao nhiêu cặp như vậy?
Mọi người sửa code giúp em xem sao ( dem luôn ra 0 ạ?)
Cảm ơn!
Mã:
Function tu(x:int64):int64;
var i,dk:longint;
Begin
tu:=1;
dk:=trunc(sqrt(x));
For i:=2 to dk do
Begin
If (x mod i=0) then
tu:=tu+i+(x mod i);
End;
If (frac(sqrt(x))=0) then tu:=tu-dk;
exit(tu);
End;
Var i,n,x:longint;
dem:int64;
Begin
Assign(input,'huunghi.inp');reset(input);
Assign(output,'huunghi.out');rewrite(output);
Read(n);
dem:=0;
For i:=2 to n do
Begin
x:=tu(i);
If (tu(x)=i) then
dem:=dem+1;
End;
Write(dem);
End.
Cảm ơn!