Viết chương trình tính tổng và đưa ra màn hình các số lẻ và chia hết cho 3 trong đoạn a,b

2 câu trả lời

Ý tưởng: Tính tổng các số chia hết cho 3 trong đoạn [a;b] rồi trừ đi tổng các số chia hết cho 6 trong đoạn [a;b].

Thuật toán:

var a,b,sh,mod3,mod6:int64;
begin
write('Nhap a: '); readln(a);
write('Nhap b: '); readln(b);
if a mod 3<>0 then a:=((a div 3)+1)*3;
b:=(b div 3)*3;
sh:=((b-a) div 3)+1;
mod3:=((a+b)*sh) div 2;
if a mod 6<>0 then a:=((a div 6)+1)*6;
b:=(b div 6)*6;
sh:=((b-a) div 6)+1;
mod6:=((a+b)*sh) div 2;
write('Tong cac so le chia het cho 3 tu a den b la: ',mod3-mod6);
end.

uses crt;
var a,b,i,sum:longint;
begin
        clrscr;
        write('Nhap a: '); readln(a);
        write('Nhap b: '); readln(b);
        for i:=a to b do
                begin
                        if i mod 3 = 0 then
                                if i mod 2 <>0 then
                                begin
                                        sum:=sum+1;
                                        write(i,' ');
                                end;
                end;
        writeln;
        write('Tong la: ',sum);
        readln;
end.

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