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.