Số tự nhiên N gọi là dư thừa nếu tổng các ước số của N (bao gồm cả 1 nhưng không có N) lớn hơn N.
Bài toán: Tìm số M là số dư thừa
nhỏ nhất không nhỏ hơn N.
Dữ liệu: Cho trong file văn bản ANUM.INP, gồm số tự nhiên N.
Kết quả: Cho trong tập tin văn bản ANUM.OUT, gồm số M là số dư thừa nhỏ nhất
không nhỏ hơn N. Giả sử rằng kết quả là số tự nhiên không quá 10000.
Ví dụ:
ANUM.INP |
ANUM.OUT |
6 |
12 |
CODE THAM KHẢO:
program so_du_thua;
var N,i,M: integer;
tong:longint;
f:text;
begin
assign(f,'ANUM.INP'); reset(f);
readln(f,n);
close(f);
assign(f,'ANUM.OUT'); rewrite(f);
M:=N;
while M < 10001 do
begin
tong:=1;
for i:=2 to trunc(sqrt(M)) do
begin
if M mod i = 0 then tong:=tong+i+(M div i);
end;
if tong > M then
begin
write(f,M);
break;
end;
M:=M+1;
end;
close(f);
end.
Đăng nhận xét