- Ebook Giải thuật và lập trình Lê Minh Hoàng
- Các thuật toán sắp xếp trong Pascal

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.


NTDuy nói...

Thuật toán quá dài dòng.

program Codec_by_NTDuy;
uses crt;
var
m,n,s,j,i:longint;
begin
clrscr;
write('Nhap M: ');readln(m);
write('Nhap N: ');readln(n);
while m<=n do
begin
for j:=1 to m do s:=s+m;
m:=m+1;
end;
write('Tong la: ',s);
readln;
end.



lúc 23:50 11 tháng 11, 2012
Nặc danh nói...

ntduy sai oy


lúc 05:51 14 tháng 12, 2012
Nặc danh nói...

sai pet' lun


lúc 05:53 14 tháng 12, 2012
Nặc danh nói...

ban la ai ma kui pat the ha


lúc 12:41 12 tháng 4, 2014
Nặc danh nói...

ai có thể nói sơ cho mình hiểu thuật toán phía trên khộng?


lúc 20:27 21 tháng 5, 2014
Unknown nói...

Nhanh hơn nè
uses crt;
var n,m,i,j,t:integer;
begin
clrscr;
readln(n,m);
while n<m do readln(n,m);
t:=0;
for i:=m to n do
for j:=1 to m do t:=t+m;
write(t);
readln
end.


lúc 20:15 26 tháng 10, 2017
Unknown nói...

for i:= m to n do
for j:= 1 to i do inc(s,i);
// s là tổng.
Code chỉ đơn giản vậy thôi :v


lúc 15:01 30 tháng 12, 2019
Unknown nói...

nhìn thuật toán của mấy ông cmt mà tui cười ỉa lun =))))))))))


lúc 21:55 29 tháng 12, 2021

Đăng nhận xét

Thành viên Blog

Tổng số lượt xem trang

Translate

Return to top of page Copyright © 2012 | Theme by Hack Tutors. Cung cấp bởi Blogger.
Các code pascal trong blog được sưu tầm, lựa chọn sao cho tối ưu nhất. Cảm ơn các tác giả đã viết thuật toán.