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

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

0 bình luận về “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”

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

    Bình luận
  2. Ý 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.

    Bình luận

Viết một bình luận