tính tổng các số từ 1 đến n+random(10) n nhập từ bàn phím

2 câu trả lời

program bai_giai;

uses crt;

var n,i,s,sgn:longint;

begin

randomize;

clrscr;

write('nhap n:');readln(n);

s:=0;

sgn:=random(10);

for i:=1 to n do s:=s+i;

write('so ngau nhien la:',sgn);

write('s=',s);

readln

end.

Dùng công thức:

Ta có: 1+2+3+...+n = n*(n+1)/2

uses crt;
var s,n:longint;
begin
clrscr;
randomize;
   write('Nhap n: ');readln(n);
   s:=s+(n*(n+1) div 2)+random(10);
   writeln('Ket qua: ',s);
readln
end.

Dùng vòng lặp:

uses crt;
var s,n,i:longint;
begin
clrscr;
randomize;
   write('Nhap n: ');readln(n);
   for i:=1 to n do s:=s+i;
   s:=s+random(10);
   writeln('Ket qua: ',s);
readln
end.

Câu hỏi trong lớp Xem thêm