Viết chương trình nhập vào số nguyên n . Tính tổng các số chia hết cho S trong dãy n số tự nhiên đầu tiên

Viết chương trình nhập vào số nguyên n . Tính tổng các số chia hết cho S trong dãy n số tự nhiên đầu tiên

0 bình luận về “Viết chương trình nhập vào số nguyên n . Tính tổng các số chia hết cho S trong dãy n số tự nhiên đầu tiên”

  1. uses crt;
    var n,i,s,t:longint; a:array[1..100]of longint;
    begin
    clrscr;
       readln(n,s);
       for i:=1 to n do
          begin
             readln(a[i]);
             if (a[i] mod s=0) then inc(t,a[i]);
          end;
       writeln(t); 
    readln;
    end.

    Bình luận
  2. var n, s,ss, i: qword;

    Begin Writeln(‘nhap n,s’);

    readln(n,s);

    if s<=n then {nếu mà s<=n thì mới tính, nếu s>n thì luôn cho kq = 0}

    begin i:=s+s;ss:=s;{số nhỏ hơn s ko thể chia hết cho s nên chạy từ s+s,tổng ban đầu bằng s vì s luôn chia hết cho chính nó}

    While i<=n do Begin

    Inc(ss,i);

    Inc(i,s){tạo tập hợp các phần tử chia hết cho s bằng cách cộng dồn s vào i đến khi i>n thì dừng};End;end;

    Write(ss);

    Readln;

    End.

    {Trong đó: INC(i,s) tương đương với lệnh i:=i+s,

    khi chưa gán giá trị ở chương trình chính thì

    các biến luôn có giá trị ban đầu bằng 0    ,

     Có lẽ đây là chương trình chạy nhanh nhất}

    Bình luận

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