viết chương trình nhập 2 số nguyên từ bàn phím(a<b). in ra màn hình a) Tổng các ước của a và b b) tìm UCLN của a và b c) in ra các số hoàn thiện từ a->b (vd: 6 vì 6=1+2+3)
2 câu trả lời
uses crt;
var a,b,a2,b2,i,j,r: integer;
s,ss: longint;
begin
clrscr;
write ('nhap a: '); readln (a);
write ('nhap b: '); readln (b);
a2:=a;
b2:=b;
s:=0;
for i:=1 to b do
if (b mod i=0) and (a mod i=0) then s:=s+i;
writeln ('tong cac uoc chung: ',s);
while b<>0 do
begin
r:=a mod b;
a:=b;
b:=r;
end;
writeln ('ucln: ',a);
write ('cac so hoan thien: ');
for i:=a2 to b2 do
begin
ss:=0;
for j:=1 to i-1 do
if i mod j=0 then ss:=ss+j;
if ss=i then write (ss:3);
end;
readln;
end.
uses crt;
var a, b, i, j: longint;
divsum: array[0..1000000] of longint;
function gcd(a, b: longint): longint;
begin
while a * b <> 0 do
begin
a:=a mod b;
if a <> 0 then b:=b mod a;
end;
exit(a + b);
end;
begin
clrscr;
readln(a, b);
for i:=1 to b do
begin
j:=i;
while j <= b do
begin
inc(divsum[j], i);
inc(j, i);
end;
end;
writeln(divsum[abs(a)] + divsum[abs(b)]);
writeln(gcd(abs(a), abs(b)));
if a < 0 then a:=0;
if b < 0 then b:=0;
for i:=a to b do if divsum[i] = (i shl 1) then write(i, ' ');
readln;
end.