Ý 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.