Share tài liệu
Share một số bài dạng Cấu trúc lặp trong Pascal (P1)

Được viết bởi: Tinh thần ở Hako !!!


Yo mina :D Vì vẫn còn bài nên An vẫn Share tiếp :D Nhìn chung thì đề khó cỡ HSG cấp huyện :D Thỉnh thoảng An cũng phải chật vật lắm mới giải được :D
Thôi dài dòng :D Vì có nhiều bài nên An vẫn sẽ chia ra thành nhiều phần :D Mong các bạn ủng hộ và like để mình có thêm động lực làm tiếp :




Bài 1
Nhập vào số nguyên dương N và N số nguyên từ bàn phím. In ra tổng N số nguyên đó

Input Format

Dòng đầu chứa số nguyên N
N dòng sau, mỗi dòng chứa 1 số nguyên.
Constraints

1 ≤ N ≤ 10^6
Các số nguyên có giá trị tuyệt đối không quá 10^9
Output Format

In ra tổng N số nguyên đã nhập

Sample Input 0

15
6
10
9
9
-10
5
2
8
10
8
-8
-4
8
4
1
Sample Output 0

58
Sample Input 1

20
8
7
1
4
1
3
4
9
10
3
9
2
10
1
10
-3
-9
2
-10
7
Sample Output 1

69

Code tham khảo

var a,b,n : int64;
c: int64;
begin
readln(n);
c:=0;
for a:=1 to n do
begin
readln(b);
c:=c+b;
end;
writeln(c);
end.

Vì số lớn nên phải dùng đến Int64 nha các bạn ":D

Bài 2
Nhập vào số nguyên dương N và N số nguyên từ bàn phím. In ra tổng các số nguyên lẻ trong N số đó

Input Format

Dòng đầu chứa số nguyên N
N dòng sau, mỗi dòng chứa 1 số nguyên.
Constraints

1 ≤ N ≤ 10^6
Các số nguyên có giá trị tuyệt đối không quá 10^9
Output Format

In ra tổng các số lẻ trong N số nguyên đã nhập

Sample Input 0

5
1
-1
-13
1
-1
Sample Output 0

-13

Code tham khảo

var a,b,c,d : int64;
begin
readln(a);
d:=0;
for b:=1 to a do
begin
readln(c);
if (c mod 2 <> 0) then d:=d+c;
end;
writeln(d);
end.

Vẫn sử dụng int64 vì số lớn :D Nói chung cứ không phải biến đếm và là số nguyên thì cứ int64 mà táng :D

Bài 3
Số lớn nhất dãy
Nhập vào số nguyên dương N và N số nguyên từ bàn phím. In ra số lớn nhất trong N số nguyên đó.

Input Format

Dòng đầu chứa số nguyên N
N dòng sau, mỗi dòng chứa 1 số nguyên.
Constraints

1 ≤ N ≤ 10^6
Các số nguyên có giá trị tuyệt đối không quá 10^9
Output Format

In ra số lớn nhất trong N số nguyên đã nhập

Sample Input 0

11
860146401
987309251
101652161
835020257
396920181
-48118027
-560446633
-28823585
-857070641
122361201
-937549613
Sample Output 0

987309251

Khá đơn giản,có thể chưa phải dùng đến biến mảng :)

Code tham khảo

var a,b,c : int64;
bm : array [1..1000000] of int64;
begin
readln(a);

for b:=1 to a do
readln(bm[b]);

c:=bm[1];

for b:=2 to a do
if (c<bm[b]) then c:=bm[b];

writeln(c);
end.

Bài 4
Tìm số lớn thứ nhì trong dãy
Nhập vào số nguyên dương N và N số nguyên từ bàn phím. In ra số lớn thứ nhì trong N số nguyên đó.

Input Format

Dòng đầu chứa số nguyên N
N dòng sau, mỗi dòng chứa 1 số nguyên.
Constraints

1 ≤ N ≤ 10^3
Các số nguyên có giá trị tuyệt đối không quá 10^3
Output Format

In ra số lớn thứ nhì trong N số nguyên đã nhập. Nếu có nhiều số bằng số lớn nhất thì số lớn thứ nhì được coi là bằng số lớn nhất. Nếu dãy chỉ có một số thì số lớn nhì cũng chính là số duy nhất trong dãy.

Sample Input 0

14
-251
-537
537
-645
-476
641
956
121
545
369
-817
801
681
941
Sample Output 0

941

Boss kìa :D

Code tham khảo

var a,b,c,d,e : int64;
bm : array [1..10000] of int64;
begin
readln(a);

for b:=1 to a do
readln(bm[b]);

for b:=1 to a-1 do
for c:=b+1 to a do
if bm[b]<bm[c] then
begin
d:=bm[c];
bm[c]:=bm[b];
bm[b]:=d;
end;
e:=bm[1];
for b:=1 to a-1 do
if bm[b]<>bm[b+1] then
begin
e:=bm[b+1];
break;
end;
writeln(e);
end.

~~~Thế là xong :D Cảm ơn các bạn đã xem và ủng hộ mình từ đầu đến giờ :D~~~

Được đăng lúc: 2019-04-14 12:32:15


7


Đăng nhập để tham gia thảo luận! Hoặc bạn có thể bình luận bằng facebook ở dưới.