K
Khách

Hãy nhập câu hỏi của bạn vào đây, nếu là tài khoản VIP, bạn sẽ được ưu tiên trả lời.

nhờ mọi người giúp cho

1. Tªn file ch­¬ng tr×nh ®Æt lµ BL1.PAS

Một số nguyên gọi là số đối xứng nếu viết dạng biểu diễn thập phân của số đó theo chiều ngược lại vẫn thu được chính số đó. Cho số nguyên dương N có không quá 100 chữ số. Hãy xác định số nguyên đối xứng nhỏ nhất lớn hơn N.

Dữ liệu vào từ file văn bản: nextpal.inp

· Dòng 1: Số nguyên N

Kết quả ghi ra file văn bản: nextpal.out

· Dòng 1: Số nguyên kết quả

Ví dụ

nextpal.inp

Nextpal.out

99

101

2. Tªn file ch­¬ng tr×nh ®Æt lµ BL2.PAS

Bạn Huy không tập trung tư tưởng trong giờ toán vì vậy thầy giáo cho thêm bài tập về nhà rèn luyện khả năng tập trung tư tưởng và tính cẩn thận chu đáo. Nội dung bài tập là cho n xâu chỉ bao gồm các ký tự la tinh thường và chữ số. Đoạn các ký tự số liên tục tạo thành một số nguyên. Ở mỗi đoạn ký tự số liên tục Huy phải trích ra số lớn nhất có thể, sắp xếp các số nhận được từ các xâu đã cho và đưa ra theo thứ tự không giảm, mỗi số được đưa ra dưới dạng không có các số 0 không có nghĩa.

Ví dụ, với n = 1 và xâu là 01a2b3456cde478 dãy số cần đưa ra là 1, 2, 478, 3456.

Yêu cầu: Cho số nguyên n (1 ≤ n ≤ 100) và n xâu, mỗi xâu có độ dài không quá 100. Hãy đưa ra dãy số nhận được đã sắp xếp theo thứ tự không giảm, mỗi số trên một dòng.

Dữ liệu: Vào từ file văn bản numbers.inp:

· Dòng đầu tiên chứa số nguyên n,

· Mỗi dòng trong n dòng sau chứa một xâu chỉ gồm các ký tự la tinh thường và số.

Dữ liệu đảm bảo có không quá 500 số được tách ra.

Kết quả: Đưa ra file văn bản NUMBERS.OUT dãy số nhận được đã sắp xếp theo thứ tự không giảm, mỗi số trên một dòng.

Ví dụ:

numbers.inp

numbers.out

4

43silos0

zita002

le2sim

231233

0

2

2

43

231233

3. Tªn file ch­¬ng tr×nh ®Æt lµ BL3.PAS

NhËp vµo mét sè tù nhiªn n vµ mét sè tù nhiªn k. Xo¸ ®i k ch÷ sè trong sè ®ã sao cho sè cßn l¹i cã gi¸ trÞ lín nhÊt.

VÝ dô :

NhËp n

k

In ra mµn h×nh

1836542721

5

SO LON NHAT LA: 86721

Thi HSG huyện Yên Lạc 2005-2006

4: Tªn file ch­¬ng tr×nh lµ BL4.PAS

Yªu cÇu tÝnh tæng c¸c gi¸ trÞ sè n»m trong chuçi:

Cho mét chuçi kÝ tù bao gåm c¶ c¸c sè. ViÕt ch­¬ng tr×nh t¸ch c¸c sè trong chuçi vµ tÝnh tæng c¸c sè ®ã.

Ch¼ng h¹n: Ta cã chuçi “abc021kih14mnh20th”. Chóng ta sÏ t¸ch ra ®­îc c¸c sè 21, 14, 20 vµ tæng cña chóng lµ 55.

- D÷ liÖu vµo: Chuçi ®­îc l­u trong file BL4.INP

- D÷ liÖu ra: Ghi vµo file BL4.OUT, trong ®ã

+ C¸c dßng ®Çu lµ gi¸ trÞ c¸c sè ®­îc t¸ch ra trong chuçi

+ Dßng cuèi cïng lµ gi¸ trÞ tæng c¸c sè

VÝ dô:

BL4.INP

BL4.OUT

abc021kjh14mnh20th

21
14
20
55

5. Tªn file ch­¬ng tr×nh ®Æt lµ BL5.PAS

Viết chương trình thực hiện các yêu cầu sau :

a. Nhập vào một số nguyên N, trong đó N có giá trị lớn hơn hoặc bằng 1 và nhỏ hơn hoặc bằng 9. Chương trình có kiểm tra giá trị nhập vào.

b. Nhập vào một xâu ký tự có độ dài tối thiểu là 20, xâu ký tự này chỉ chứa các giá trị số từ 0 đến 9. Nếu trong xâu có chứa các ký tự không phải là ký tự số thì cho phép người sử dụng nhập lại xâu ký tự khác. Quá trình nhập dừng khi xâu nhập vào thỏa mãn điều kiện.

c. Tính tích của số nguyên N và giá trị của xâu dữ liệu số vừa nhập ở câu b.

* Ví dụ : (Kết quả khi chạy chương trình)

Nhập N : 5

Chuỗi ký tự số : 1234567899876543210567

Kết quả : 6172839499382716052835

1
4 tháng 9 2019

Có 1 số bài mình nhớ đã giải rồi mà, và cũng có bài tương tự . Bạn xem lại và vận dụng để hiểu nhé.

4 tháng 9 2019

ronwcam ơn

Câu 1 (6,0 điểm): Tính giá trị Nhập vào 2 số nguyên dương N và M. Yêu cầu: Tính tổng M các số tận cùng của N. Dữ liệu vào: Cho trong file văn bản CAU1.INP, có cấu trúc như sau: - Dòng 1: Ghi số nguyên dương N. - Dòng 2: Ghi số nguyên dương M (M≤ N) . Dữ liệu ra: Ghi ra file văn bản CAU1.OUT, theo cấu trúc như sau: - Ghi kết quả tổng của M số tận cùng của N. Ví...
Đọc tiếp

Câu 1 (6,0 điểm): Tính giá trị

Nhập vào 2 số nguyên dương N và M.

Yêu cầu: Tính tổng M các số tận cùng của N.

Dữ liệu vào: Cho trong file văn bản CAU1.INP, có cấu trúc như sau:

- Dòng 1: Ghi số nguyên dương N.

- Dòng 2: Ghi số nguyên dương M (M≤ N) .

Dữ liệu ra: Ghi ra file văn bản CAU1.OUT, theo cấu trúc như sau:

- Ghi kết quả tổng của M số tận cùng của N.

Ví dụ:

CAU1.INP

CAU1.OUT

34562

2

8

Câu 2 (7,0 điểm): Tìm số

Dãy các số tự nhiên được viết ra thành một dãy vô hạn trên đường thẳng:

1234567891011121314..... (1)

Yêu cầu: Viết chương trình yêu cầu nhập số K và in lên tệp CAU2.OUT kết quả là số nằm ở vị trí thứ K trong dãy (1) ở trên và số đó thuộc vào số nào?

Dữ liệu vào: Cho trong file văn bản CAU2.INP, có cấu trúc như sau:

- Ghi số nguyên dương K

Dữ liệu ra: Ghi ra file văn bản CAU2.OUT, theo cấu trúc như sau:

- Trên 1 dòng in kết quả số ở vị trí K và số chứa số đó cách nhau ít nhất một dấu cách.

Ví dụ:

CAU2.INP

CAU2.OUT

15

2 12

Câu 3 (7,0 điểm): Đếm ký tự

Cho một văn bản gồm N dòng. Các ký tự được lấy từ tập các chữ cái và chữ số.

Yêu cầu: Tìm số lượng ký tự của dòng ngắn nhất, số lượng ký tự của dòng dài nhất và số lượng ký tự của văn bản.

Dữ liệu vào: Cho trong file văn bản CAU3.INP, có cấu trúc như sau:

- Dòng 1: Ghi số nguyên dương N là số dòng của văn bản (1 ≤ N ≤ 100).

- N dòng tiếp theo: Mỗi dòng ghi một xâu gồm L ký tự (0 < L < 255).

Dữ liệu ra: Ghi ra file văn bản CAU3.OUT, theo cấu trúc như sau:

- Dòng 1: Ghi 3 số nguyên dương x y z. Trong đó: x là số lượng ký tự của dòng ngắn nhất; y là số lượng ký tự của dòng dài nhất, z là số lượng ký tự của văn bản. Các số được ghi cách nhau ít nhất một dấu cách.

Ví dụ:

CAU3.INP

CAU3.OUT

3

ThiHSG09

Nam2015

Vong1

5 8 20

4
5 tháng 9 2019

cau1

uses crt;
const
fi='CAU1.inp';
fn='CAU1.out';
var n: string;
f:text;
m,i,a,tong: integer;
BEGIN
clrscr;
assign(f,fi);reset(f);
read(f,n);
read(f,m);
close(f);
assign(f,fn);rewrite(f);
for i:= length(n) downto length(n)-m+1 do
begin
val(n[i],a);
tong:=tong+a;
end;
write(f,tong);
close(f);
readln;
END.

cau3

uses crt;
const
fi='CAU1.inp';
fn='CAU1.out';
var n: string;
f:text;
m,i,a,tong: integer;
BEGIN
clrscr;
assign(f,fi);reset(f);
read(f,n);
read(f,m);
close(f);
assign(f,fn);rewrite(f);
for i:= length(n) downto length(n)-m+1 do
begin
val(n[i],a);
tong:=tong+a;
end;
write(f,tong);
close(f);
readln;
END.

6 tháng 9 2019

Câu 2:

*Ý tưởng :

+ Ý 1:

- Bạn không cần chạy đến vô hạn như đề cho đầu , bạn chỉ cần 1 vòng for chạy đến k là được bởi vì nó lấy kí tự thứ k.

- Bạn cho 1 vòng for chạy đến k và chuyển dãy số đó sang xâu và cho 1 biến đếm vào

- Nếu biến đếm bằng với k thì write(s[d]);

+ Ý 2:

- Các số có 1 chữ số chỉ có từ 1 đến 9. Nên nếu d<9 thì write(s[d]);

- Nếu mà d>9 và d là số lẻ thì write(s[d-1],s[d]) ngược là nếu d là số chẵn thì write(s[d],s[d+1]);

Đây là ý tưởng , nếu bạn không hiểu chỗ nào cứ hỏi mình , bạn làm theo ý tưởng mình xem nhé. Nếu không được mình sẽ gửi bài làm của mình cho bạn xem.

6 tháng 4 2017

uses crt;
const finp='Bai1.inp';
fout='Bai1.out';
type mangc=array[1..10000] of char;
mangl=array[1..10000] of longint;
var f:text;
ch:mangc; a:mangl;
n:longint;
procedure doc;
var i:longint;
begin
assign(f,finp);
reset(f);
readln(f,n);
for i:=1 to n do read(f,ch[i]);
close(f);
end;
procedure ghi;
begin
assign(f,fout);
rewrite(f);
end;
procedure tim;
var i,j,d,k,l:longint;
begin
for i:=n-2 downto 1 do
begin
a[i]:=1;
d:=0;
for j:=i+1 to n do
begin
l:=a[j];
if ch[i]=ch[j] then a[j]:=d+2
else if a[j-1]>a[j] then a[j]:=a[j-1];
d:=l;
end;
end;
end;
procedure xuly;
var i:longint;
begin
fillchar(a,sizeof(a),0);
if n=1 then a[n]:=1
else begin
a[n-1]:=1;
a[n]:=ord(ch[n]=ch[n-1])+1;
end;
if n>2 then tim;
write(f,n-a[n]);
end;
begin
doc;
ghi;
xuly;
close(f);
end.

ai có thể giải thích cho mình bài này đc không

nhất là cái "procedure tim" và mục đích của mảng số nguyên a

mk cảm ơn nhiều

uses crt;
const fi='bt.inp';
var a:array[1..100]of real;
i,dem:integer;
f1:text;
begin
clrscr;
assign(f1,fi); reset(f1);
dem:=0;
while not eof(f1) do
begin
inc(dem);
read(f1,a[dem]);
if dem mod 2=0 then readln(f1);
end;
for i:=1 to dem do
write(a[i]:4:1,' ':4);
close(f1);
readln;
end.

8 tháng 4 2017

Mình thử trả lời các bạn xem có đúng ko nha!!!

__________

program CP;

var scs,tong,m,i,z,k:longint;

A:array[1..10000000] of longint;

f:text;

begin

assign(f, 'CP.INP');

reset(f);

readln(f,m);

for i:=1 to m do read(f,A[i]);

close(f);

tong:=0;

scs:=0;

for z:=1 to m do

for k:=1 to A[z] do

if (k*k=A[z]) then

begin

scs:=scs+1;

tong:=tong+A[z];

end;

assign(f, 'CP.OUT');

rewrite(f);

if (scs<>0) then writeln(f, tong) else writeln(f, '0');

close(f);

end.

Cho một bảng các ô vuông đơn vị có kích thước nxm (n, m ≤ 100; n số hàng, m số cột của bảng). Trên mỗi ô vuông đơn vị chứa các số nguyên dương. Yêu cầu: Hãy tìm ở bảng trên hai hình chữ nhật (có thể giao nhau nhưng không trùng khít lên nhau) có kích thước pxq (p<n; q<m; p là số hàng, q là số cột của hai hình chữ nhật con) sao cho tổng của tất cả các số trên hai hình chữ nhật là lớn...
Đọc tiếp

Cho một bảng các ô vuông đơn vị có kích thước nxm (n, m ≤ 100; n số hàng, m số cột của bảng). Trên mỗi ô vuông đơn vị chứa các số nguyên dương.

Yêu cầu: Hãy tìm ở bảng trên hai hình chữ nhật (có thể giao nhau nhưng không trùng khít lên nhau) có kích thước pxq (p<n; q<m; p là số hàng, q là số cột của hai hình chữ nhật con) sao cho tổng của tất cả các số trên hai hình chữ nhật là lớn nhất.

Dữ liệu vào: File tên HCN.OUT

- Dòng 1 ghi bốn số n, m, p, q được ghi cách nhau bởi dấu cách.

- n dòng tiếp theo, mỗi dòng ghi m số nguyên dương và cách nhau bởi dấu cách.

Dữ liệu ra: File HCN.OUT, chứa 1 dòng ghi một số nguyên duy nhất S là diện tích lớn nhất cần tìm.

HCN.INP

HCN.OUT

4 7 3 3

1 2 3 1 1 3 4

5 3 1 4 0 1 2

4 6 3 4 7 1 1

9 3 8 10 0 1 0

84

Ví dụ:

1

2

3

1

1

3

4

5

3

1

4

0

1

2

4

6

3

4

7

1

1

9

3

8

10

0

1

0

0
Cho một bảng các ô vuông đơn vị có kích thước nxm (n, m ≤ 100; n số hàng, m số cột của bảng). Trên mỗi ô vuông đơn vị chứa các số nguyên dương. Yêu cầu: Hãy tìm ở bảng trên hai hình chữ nhật (có thể giao nhau nhưng không trùng khít lên nhau) có kích thước pxq (p<n; q<m; p là số hàng, q là số cột của hai hình chữ nhật con) sao cho tổng của tất cả các số trên hai hình chữ nhật là lớn...
Đọc tiếp

Cho một bảng các ô vuông đơn vị có kích thước nxm (n, m ≤ 100; n số hàng, m số cột của bảng). Trên mỗi ô vuông đơn vị chứa các số nguyên dương.

Yêu cầu: Hãy tìm ở bảng trên hai hình chữ nhật (có thể giao nhau nhưng không trùng khít lên nhau) có kích thước pxq (p<n; q<m; p là số hàng, q là số cột của hai hình chữ nhật con) sao cho tổng của tất cả các số trên hai hình chữ nhật là lớn nhất.

Dữ liệu vào: File tên HCN.OUT

- Dòng 1 ghi bốn số n, m, p, q được ghi cách nhau bởi dấu cách.

- n dòng tiếp theo, mỗi dòng ghi m số nguyên dương và cách nhau bởi dấu cách.

Dữ liệu ra: File HCN.OUT, chứa 1 dòng ghi một số nguyên duy nhất S là diện tích lớn nhất cần tìm.

HCN.INP

HCN.OUT

4 7 3 3

1 2 3 1 1 3 4

5 3 1 4 0 1 2

4 6 3 4 7 1 1

9 3 8 10 0 1 0

84

Ví dụ:

1

2

3

1

1

3

4

5

3

1

4

0

1

2

4

6

3

4

7

1

1

9

3

8

10

0

1

0

1
1 tháng 5 2020

var n,m,i,j,p,q,k,tam:byte;
a:array[1..100,1..100] of integer;
b:array[1..10000] of integer;
f:text;
function tong(x,y:integer):integer;
var i,j:integer;
begin
tong:=0;
for i:=x to x+p-1 do
for j:=y to y+q-1 do
tong:=tong+a[i,j];
exit(tong);
end;
begin
assign(f,'HCN.inp');reset(f);
readln(f,n,m,p,q);
for i:=1 to n do
begin
for j:=1 to m do read(f,a[i,j]);
readln(f);
end;
close(f);
assign(f,'HCN.out');rewrite(f);
k:=0;
for i:=1 to n-q+1 do
begin
for j:=1 to m-p+1 do
begin
inc(k);
b[k]:=tong(i,j);
end;
end;
for i:=1 to k-1 do
for j:=k downto i+1 do
if b[j]>b[j-1] then
begin
tam:=b[j];
b[j]:=b[j-1];
b[j-1]:=tam;
end;
writeln(f,b[1]+b[2]);
close(f);
readln;
end.

vui

Cho một bảng các ô vuông đơn vị có kích thước nxm (n, m ≤ 100; n số hàng, m số cột của bảng). Trên mỗi ô vuông đơn vị chứa các số nguyên dương. Yêu cầu: Hãy tìm ở bảng trên hai hình chữ nhật (có thể giao nhau nhưng không trùng khít lên nhau) có kích thước pxq (p<n; q<m; p là số hàng, q là số cột của hai hình chữ nhật con) sao cho tổng của tất cả các số trên hai hình chữ nhật là lớn...
Đọc tiếp

Cho một bảng các ô vuông đơn vị có kích thước nxm (n, m ≤ 100; n số hàng, m số cột của bảng). Trên mỗi ô vuông đơn vị chứa các số nguyên dương.

Yêu cầu: Hãy tìm ở bảng trên hai hình chữ nhật (có thể giao nhau nhưng không trùng khít lên nhau) có kích thước pxq (p<n; q<m; p là số hàng, q là số cột của hai hình chữ nhật con) sao cho tổng của tất cả các số trên hai hình chữ nhật là lớn nhất.

Dữ liệu vào: File tên HCN.OUT

- Dòng 1 ghi bốn số n, m, p, q được ghi cách nhau bởi dấu cách.

- n dòng tiếp theo, mỗi dòng ghi m số nguyên dương và cách nhau bởi dấu cách.

Dữ liệu ra: File HCN.OUT, chứa 1 dòng ghi một số nguyên duy nhất S là diện tích lớn nhất cần tìm.

HCN.INP

HCN.OUT

4 7 3 3

1 2 3 1 1 3 4

5 3 1 4 0 1 2

4 6 3 4 7 1 1

9 3 8 10 0 1 0

84

Ví dụ:

1

2

3

1

1

3

4

5

3

1

4

0

1

2

4

6

3

4

7

1

1

9

3

8

10

0

1

0

1
12 tháng 2 2020

bài này làm bằng Pascal hả anh?

13 tháng 2 2020

uk

câu 1 Một bạn học sinh Trường THCS A nhận đánh máy một đoạn văn bản không dấu, ở dạng nét liền (Dạng văn bản nét liền là dạng văn bản được đánh máy chỉ với các từ, không có khoảng trắng ngăn cách (dấu cách)), nhưng do sơ xuất nên đoạn văn bản này được đánh máy không ở dạng như yêu cầu. Em hãy chuyển đoạn văn bản trên về dạng theo yêu cầu và kiểm tra xem đoạn văn bản...
Đọc tiếp

câu 1

Một bạn học sinh Trường THCS A nhận đánh máy một đoạn văn bản không dấu, ở dạng nét liền (Dạng văn bản nét liền là dạng văn bản được đánh máy chỉ với các từ, không có khoảng trắng ngăn cách (dấu cách)), nhưng do sơ xuất nên đoạn văn bản này được đánh máy không ở dạng như yêu cầu. Em hãy chuyển đoạn văn bản trên về dạng theo yêu cầu và kiểm tra xem đoạn văn bản đó có phải là xâu Palindrome hay không? (xâu Palindrome là xâu mà khi viết nó theo thứ tự ngược lại thì xâu đó không thay đổi)

Dữ liệu vào từ file: hsg2.inp

Dòng 1: Đoạn văn bản

Dữ liệu ra file: hsg2.out

Dòng 1: Đoạn văn bản theo yêu cầu.

Dòng 2: Trả lời xâu Palindrome?

Ví dụ:

Dữ liệu vào từ file: hsg2.inp

Dòng 1: Tam mat

Dữ liệu ra file: hsg2.out

Dòng 1: Tammat

Dòng 2: Là xâu Palindrome

Dữ liệu vào từ file: hsg2.inp

Dòng 1: 12 12

Dữ liệu ra file: hsg2.out

Dòng 1: 1212

Dòng 2: Không là xâu Palindrome

câu 2

Người ta định nghĩa, một hằng số được coi là số thực nếu ngoài các số chữ số ra nó còn có dấu chấm ( . ) hoặc một số mũ ( bắt đầu bởi e hay E thường được gọi là số luỹ thừa ) hoặc cả hai. Nếu có dấu chấm ( . ) thì mỗi bên của dấu chấm phải có ít nhất một chữ số. Ngoài ra, ở trước số và trong số mũ còn có thể có một dấu cộng ( + ) hoặc trừ ( - ). Phần số luỹ thừa phải là số nguyên. Số thực có thể có các khoảng trống ở trước hoặc sau nhưng bên trong thì không. Hằng số thực không có giới hạn về giá trị.

Viết chương trình kiểm tra xem các chuỗi kí tự cho trước có phải là những số thực theo định nghĩa trên đây hay không?

Dữ liệu vào:

Dữ liệu vào cho trong tập tin văn bản HSG4.INP gồm nhiều dòng cho nhiều trường hợp cần kiểm tra. Mỗi dòng chứa một chuỗi kí thự Si là chuỗi cần kiểm tra. Dòng cuối cùng chứa kí tự ' * ', dòng này không được xét trong chương trình.Mỗi dòng tối đa 255 kí tự. Dữ liệu ra:

Kết quả ghi trong tập tin văn bản HSG4.OUT gồm nhiều dòng. Mỗi dòng chứa câu trả lời là "DUNG" hoặc "SAI" tương ứng với một dòng trong tập tin HSG4.INP.

Ví dụ:

HSG4.INP

HSG4.OUT

1.2

5.300

1

1.0e55

+1e-12

2011

e-12 *.

DUNG

DUNG

SAI

DUNG

DUNG

SAI

SAI

câu 3

Nhập một xâu kí tự S khác rỗng.

Yêu cầu: - Đếm trong xâu có bao nhiêu từ.

- Thực hiện chuẩn hoá xâu. Tức là xoá các dấu cách thừa và chuyển các chữ cái đầu thành chữ hoa, những ký tự khác thành chữ thường.

Dữ liệu vào: Được cho trong tệp BAI1.INP gồm 1 dòng ghi xâu S

Dữ liệu ra: Kết quả ghi ra tệp BAI1.OUT có cấu trúc như sau:

- Dòng 1: Ghi số lượng từ có trong xâu S.

- Dòng 2: Ghi xâu S sau khi đã được chuẩn hoá.

Ví dụ:

BAI1.INP

BAI1.OUT

pHong giAo duC vA daO tAo vInh tUong

8

Phong Giao Duc Va Dao Tao Vinh Tuong

1
27 tháng 8 2019

1: while pos(#32,s)>0 do delete(s,pos(#32,s),1);

Còn kiểm tra palindom thì đầu tiên cho kiểm tra là true, chạy for từ đầu đến length div 2, nếu s[i] khác s[length-i+1] thì kiểm tra false, còn lại tự biết.

2: Các trường hợp sai

-Không có chấm hoặc nhiều hơn 1 chấm.

-1 trong 2 bên dấu chấm không phải là số hoặc 1 trong 2 bên không có số.

-dấu + hoặc - đặt sai vị trí (ko đặt đầu xâu, bên phải chữ e, giữa số mũ).

-Xuất hiện 1 kí tự khác e, +, -, số, khoảng cách.

-Xuất hiện khoảng cách giữa xâu

(Mình nghĩ vậy)

3. S:=lowercase(s); đưa s về xâu thường.

Chèn khoảng cách (#32) vô đầu xâu cho dễ xử lí: gọi s là xâu nhập vào, i là biến chạy, nếu s[i+1] không phải khoảng cách và s[i] là khoảng cách thì tăng đếm và upcase s[i+1] lên, đếm là số in ra

Cuối cùng là xóa khoảng cách thừa bằng:

While pos(#32#32,s)>0 do deletes(s,pos(#32#33,s),1);

If s[1]=#32 then delete(s,1,1);

If s[length(s)]=#32 then delete(s,length(s),1);

(#32 là dấu khoảng cách theo bảng mã ascii)

28 tháng 8 2019

có thể viết rõ ra từng chi tiết hơn không

Một trò chơi dành cho nhiều đội chơi được Ban tổ chức quy định như sau: bắt đầu cuộc chơi, Ban tổ chức cho chạy N số trên màn hình từ trái sang phải và yêu cầu đội chơi nào trả lời nhanh nhất số cách chia dãy số trên thành nhiều dãy con nhất sao cho các dãy con có tổng bằng nhau. Ví dụ: Trên màn hình chạy dòng 19 số: 1 0 2 0 0 3 1 1 1 0 2 1 0 0 2 1 2 0 1. Kết quả trả lời đúng là: tổng các...
Đọc tiếp

Một trò chơi dành cho nhiều đội chơi được Ban tổ chức quy định như sau: bắt đầu cuộc chơi, Ban tổ chức cho chạy N số trên màn hình từ trái sang phải và yêu cầu đội chơi nào trả lời nhanh nhất số cách chia dãy số trên thành nhiều dãy con nhất sao cho các dãy con có tổng bằng nhau.

Ví dụ: Trên màn hình chạy dòng 19 số: 1 0 2 0 0 3 1 1 1 0 2 1 0 0 2 1 2 0 1. Kết quả trả lời đúng là: tổng các số mỗi dãy con là 3, số dãy con nhiều nhất là 6, bao gồm các dãy con là: 1 0 2, 0 0 3, 1 1 1, 0 2 1, 0 0 2 1, 2 0 1

+Dữ liệu vào: File văn bản GAMESHOW.INP

- Dòng 1 chứa số nguyên dương N.

- Dòng 2 chứa N số chạy trên màn hình, các số cách nhau bởi dấu cách.

+ Dữ liệu ra: Ghi ra file văn bản GAMESHOW.OUT

- Dòng 1 là tổng các số của một dãy con.

- Dòng 2 là số K (số dãy con nhiều nhất chia được).

- Dòng 3 là các vị trí cuối cùng của từng dãy con, các số vị trí này cách nhau bởi dấu cách.

Ví dụ:

GAMESHOW.INP

GAMESHOW.OUT

19

1 0 2 0 0 3 1 1 1 0 2 1 0 0 2 1 2 0 1

3

6

3 6 9 12 16 19

1

const fi='gameshow.inp';
fo='gameshow.out';
var f1,f2:text;
a,b:array[1..100]of integer;
n,i,tg,d,s,x,j,vtd,vt:integer;
begin
assign(f1,fi); reset(f1);
assign(f2,fo); rewrite(f2);
readln(f1,n);
for i:=1 to n do
read(f1,a[i]);
{----------------------xu-ly------------------}
tg:=0;
for i:=1 to n do
tg:=tg+a[i];
for i:=n downto 1 do
if tg mod i=0 then
begin
d:=0;
s:=0;
x:=tg div i;
for j:=1 to n do
begin
s:=s+a[j];
if s=x then
begin
vt:=j;
inc(d);
b[d]:=vt;
s:=0;
end;
end;
if s=0 then
begin
b[d]:=n;
break;
end;
end;
writeln(f2,x);
writeln(f2,d);
for i:=1 to d do
write(f2,b[i],' ');
close(f1);
close(f2);
end.