Tìm tổng các số bất kỳ từ dãy 1,2,2,3,3,3,4,4,4,4...

Cho mảng A là dãy số 1,2,2,3,3,3,4,4,4,4,5,5,5,5,5.... Nhập vào số m, n (m<=n<=100000). In ra tổng A[m]+A[m+1]+...+A[n-1]+A[n].

 
program code;
var di:word;
    m,n,i,res:longint;

begin
   writeln('Nhap M: '); readln(m);
   writeln('Nhap N: '); readln(n);
   di:=0;
   i:=0;
   res:=0;
   while i<m do
    begin
      di:=di+1;
      i:=i+di;
    end;
    res:=(i-m+1)*di;
    while i<=n do
     begin
        di:=di+1;
        i:=i+di;
        res:=res+di*di;
     end;
    res:=res-di*(i-n);

   writeln('Ket qua: ',res);
   readln;
end.

Không có nhận xét nào:

Đăng nhận xét