Tin học Pascal

Phượng Hồng Ngày Xưa Đã Úa Tàn

Học sinh mới
Thành viên
30 Tháng một 2019
5
2
6
18
Phú Yên
Trường THCS-THPT Võ Nguyên Giáp
[TẶNG BẠN] TRỌN BỘ Bí kíp học tốt 08 môn
Chắc suất Đại học top - Giữ chỗ ngay!!

ĐĂNG BÀI NGAY để cùng trao đổi với các thành viên siêu nhiệt tình & dễ thương trên diễn đàn.

Bài 4: SONGOKU
Trong phiên bản mở rộng của Dragon Ball Super, Songoku đang thu thập ngọc để triệu
hồi Rồng Thần trong truyền thuyết. Trong N ngày, mỗi ngày Songoku thu thập được 1
viên ngọc cấp i bất kỳ .Cứ 2 viên cấp i tạo được 1 viên cấp i+1 ( 2 viên ngọc cùng cấp sẽ
tạo được một viên ngọc cao hơn 1 cấp).
* Yêu cầu: Tìm cấp cao nhất của viên ngọc mà Songoku có thể tạo được sau N ngày.
+ Dữ liệu vào: từ tệp văn bản SONGOKU.INP
- Dòng đầu là số nguyên N (0<N≤105 ) là số ngày Songoku thu thập ngọc rồng.
- Dòng thứ 2 gồm N số nguyên dương ai liên tiếp, mỗi số cách nhau một ký tự trắng.
(1≤ai≤105) là cấp của viên ngọc Songoku thu thập được mỗi ngày.
+ Dữ liệu ra: ghi vào tệp văn bản SONGOKU.INP cấp cao nhất của viên ngọc mà
Songoku có thể tạo được sau N ngày.
Ví dụ:
SONGOKU.INP.........SONGOKU.OUT
3....................................4
2 3 2
Giải thích: Sau 3 ngày Songoku có 2 viên ngọc cấp 2 và 1 viên cấp 3.
 2 viên cấp 2 tạo thành 1 viên cấp 3 mới, + thêm 1 viên cấp 3 cũ vậy là có 2 viên
cấp 3
 2 viên cấp 3 tạo thành 1 viên cấp 4.
 
  • Like
Reactions: Code11

Code11

Học sinh
Thành viên
7 Tháng mười 2018
48
19
21
Quảng Nam
THPT Trần Cao Vân
var
file1,file2:text;
i:integer;
n:byte;
a:array [1..105] of byte;
function ngocrong(s:byte):byte;
var j,max:integer;
begin
for i:=1 to s do
for j:=1 to s do
if a=a[j] then
begin
a:=a+1;
end;
max:=a[1];
for i:=2 to s do if a>max then max:=a;
ngocrong:=max;
end;
begin
assign(file1,'songoku.inp');assign(file2,'songoku.out');
reset(file1);
readln(file1,n);
for i:=1 to n do read(file1,a);
close(file1);
rewrite(file2);
write(file2,ngocrong(n));
close(file2);
end.
 
Top Bottom