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.

Câu hỏi trong lớp Xem thêm