Cho hai số nguyên dương x,y (y>x) Hãy tính tích các số nằm trong đoạn [x,y]

2 câu trả lời

input số nguyên X,Y

output tích các số từ X đến Y

Ý tưởng Cho vòng lặp chạy từ X đến Y, sau mỗi lần lặp biến S được nhân thêm giá trị i

B1 nhập X,Y

b2 Nếu y<x thì kết thúc

b3 i←X+1

S←1

b4 nếu i=Y thì xuất S, kết thúc

b4 i←i+1

b5 S←S*i

b6 quay lại B4

uses crt;
var x,y,S,i:longint;
begin
clrscr;
write('x,y=');
readln(x,y);
if y<X then writeln('sai dieu kien')
else
begin
i:=x+1;
S:=1;
repeat
begin
S:=s*i;
i:=i+1;
end;
until
i=Y;
writeln('tich',S);
end;
readln
end.

xác định input, output:
input: x,y;
output: tổng các số nằm trong khoảng x,y;

ý tưởng:
cho for i đi từ x đến y rồi mình chỉ tính tích các số
thuật toán:
B1: nhập x,y;
B2: s←0; i←x;
B3: nếu i=y thì xuất s;
B4: s←s+i;
B5: i←i+1;
B6: quay lại B3;
chương trình:
program bai_giai;
uses crt;
var x,y,i,s:longint;
begin
clrscr;
write('nhap x,y:');readln(x,y);
s:=0;
for i:=x to y do s:=s+i;
write(s);
readln
end.

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