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.

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

uses crt;

var a:array[1..100]of byte;

i,n,t:byte;

begin

clrscr;

write('n='); readln(n);

for i:=1 to n do

begin

write('a[',i,']='); readln(a[i]);

end;

{----------------------------cau-a----------------------------}

t:=0;

for i:=1 to n do

t:=t+a[i];

writeln(t);

{---------------------------------cau-b--------------------------------}

for i:=1 to n do write(a[i]:4);

readln;

end.

6 tháng 4 2020

Cảm ơn ad

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.

CHUYÊN ĐỀ : CÁC BÀI TOÁN VỀ THỜI GIAN (Nhập xuất trên file) 1/ ĐỔI GIỜ Dữ liệu vào : -Dòng 1: ba số h m s tương ứng với số giờ, phút, giây -Dòng 2 : số G là số giây Dữ liệu ra : -Dòng 1: In ra một số S1 là số giây đổi ra từ số giờ, số phút, số giây tương ứng -Dòng 2 : In ra ba số h1 m1 s1 là số giờ, số phút và số giây tương ứng với số giây G Ví dụ...
Đọc tiếp

CHUYÊN ĐỀ : CÁC BÀI TOÁN VỀ THỜI GIAN

(Nhập xuất trên file)

1/ ĐỔI GIỜ

Dữ liệu vào :

-Dòng 1: ba số h m s tương ứng với số giờ, phút, giây

-Dòng 2 : số G là số giây

Dữ liệu ra :

-Dòng 1: In ra một số S1 là số giây đổi ra từ số giờ, số phút, số giây tương ứng

-Dòng 2 : In ra ba số h1 m1 s1 là số giờ, số phút và số giây tương ứng với số giây G

Ví dụ :

DOIGIO.INP

DOIGIO.OUT

0 50 31

8147

3031

2 15 47

2/ XÂU THỜI GIAN

Một xâu kí tự biểu diễn thời gian là xâu kí tự bao gồm các số và các chữ h, m, s tương ứng với giờ, phút và giây.

Ví dụ : cho xâu 1h50m24s nghĩa là : 1 giờ 50 phút 24 giây.

Cho một xâu kí tự biểu diễn thời gian, em hãy cho biết thời gian đó bằng bao nhiêu giây ?

Ví dụ :

XAUTHOIGIAN.INP

XAUTHOIGIAN.OUT

1h50m24s

6624s

3/CỘNG, TRỪ THỜI GIAN

Nhập hai lượng thời gian (mỗi lượng dưới dạng giờ, phút, giây)

In ra tổng hai thời gian, và hiệu hai thời gian (thời gian lớn trừ thời gian bé)

Ví dụ :

ADDTIME.INP

ADDTIME.OUT

2h43m18s

0h54m23s

3h37m41s

1h48m55s

11h25m3s

23h4m19s

34h29m22s

11h39m16s

4/AI CHẠY NHANH NHẤT

Trong một cuộc thi chạy người ta đánh số thứ tự các vận động viên từ 1 đến N, và ghi lại thời gian chạy của từng vận động viên tương ứng.

Nhiệm vụ của em là tìm ra số thứ tự của người chạy nhanh nhất

Dữ liệu vào : Gồm N + 1 dòng

-Dòng 1: Ghi N là số lượng các vận động viên

Dòng 2 ..Dòng N + 1: Dòng i +1 ghi thời gian chạy của vận động viên thứ i (giờ, phút, giây)

Dữ liệu ra :

-Dòng 1: Ghi số K là số thứ tự của vận động viên chạy nhanh nhất, nếu có nhiều vận động viên chạy nhanh nhất thì ghi tất cả các thứ tự tương ứng trên cùng một dòng

Ví dụ :

CHAYNHANH.INP

CHAYNHANH.OUT

5

1h24m56s

2h08m01s

1h32m0s

0h59m34s

1h15m49s

4

5/NĂM NHUẬN

-Nhập vào một số nguyên dương N

Hãy kiểm tra xem năm N có là năm nhuận hay không ?

-Nếu có ghi ‘Yes’

-Nếu không thì ghi ‘No’ và năm nhuận gần năm N nhất là năm nào ? In độ chênh lệch tương ứng

Ví dụ :

NAMNHUAN.INP

NAMNHUAN.OUT

1994

Yes

1999

No

+1

6/(5.1)SỐ NGÀY CỦA MỘT THÁNG

Nhập vào số tháng.

In ra số ngày của tháng đó.

Ví dụ :

DAYSOFM.INP

DAYSOFM.OUT

12

31

2 1990

28

7/(5.2) NGÀY HỢP LỆ

Nhập vào ba số a b c tương ứng là ngày tháng năm .

Hãy kiểm tra xem ngày đó có hợp lệ không

(Thế nào là ngày tháng hợp lệ ?)

Ví dụ :

DAYLIFE.INP

DAYLIFE.OUT

12 8 2013

1

31 4 1999

0

8/(5.3) NGÀY HỢP LỆ PRO

Nhập vào một xâu kí tự chỉ bao gồm các chữ số từ 0 đến 9 biểu diễn một ngày nào đó có thể hợp lệ hay không

Ví dụ :

- xâu 2311990 biểu diễn ngày 23 tháng 1 năm 1990, dễ thấy xâu kí tự này không thể biểu diễn hợp lệ một ngày tháng nào khác ?

- xâu 2112013 biểu diễn hai ngày khác nhau là :

ngày 2 – 11 – 2013 và ngày 21 – 1 2013

- xâu 5442014 không biểu diễn một tháng nào hợp lệ.

DAYLIFEPRO.INP

DAYLIFEPRO.OUT

2122013

Yes

2 – 11 – 2013

21 – 1 – 2013

5442014

No.

9/ TỔNG SỐ NGÀY

Tính tổng số ngày tính từ ngày A tháng B đến ngày C tháng D trong cùng một năm

Dữ liệu vào :

-Dòng 1: hai số nguyên A và B (A: số ngày, B: số tháng).

-Dòng 2: hai số nguyên C và D (C: số ngày, D: số tháng).

Dữ liệu ra :

-Dòng 1: tổng số ngày

Ví dụ :

SUMDAYS.INP

SUMDAYS.OUT

16 3

20 4

36

10/ SẮP XẾP NGÀY

Cho một danh sách N ngày (ngày-tháng-năm) .

Hãy sắp xếp các ngày theo thứ tự từ xa nhất đến gần nhất.

Dữ liệu vào :gồm N + 1 dòng

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

-Dòng 2 .. Dòng N+1 : mỗi dòng ghi ba số A, B và C tương ứng với ngày – tháng – năm.

Dữ liệu ra :

-N dòng, mỗi dòng là một ngày – tháng – năm đã được sắp xếp.

Ví dụ :

SORTDATE.INP

SORTDATE.OUT

4

15 4 2013

8 9 2014

15 1 2003

7 2 1999

7 2 1999

15 1 2003

15 4 2013

8 9 2014

10

23 1 1900

02 12 2000

14 7 545

20 10 545

02 1 545

10 3 1900

27 4 2000

12 1 1900

12 5 2000

1 1 545

1
17 tháng 9 2019

Mình sẽ nêu ý tưởng nhé.

1/ Bạn chỉ cần áp dụng

1h=60p ; 1p=60 giây thôi

Ý 1: Bạn đổi h và p ra

Ví dụ : g=g+h*60*60;

g:=g+p*60;

Ý 2: Như ý 1 bạn chỉ cần chia tối đa của phút là 60 nếu > thì + dồn cho giờ

2/ Bạn đổi xâu sang thành số và nếu s[1] hoặc s[2] là số thì chuyển qua biến giờ . Tiếp theo chuyển phút. Và nhân như theo ý 1 bài 1.

3/ Áp dụng ý tưởng các câu 1 và 2 .

Các bài còn lại tương tự

17 tháng 9 2019

ok

22 tháng 2 2020

#include <iostream>
#include <fstream>

int main()
{
std::ifstream f("daycon.inp");
int n,s,a[1001],d[100][1001];
f>>n>>s;
for(int i=1;i<=n;i++)
{
f>>a[i];
}
d[0][0]=0;
a[0]=0;
d[1][a[1]]=1;
for(int i=2;i<=n;i++)
{
for(int j=0;j<=s;j++)
{
d[i][j]=d[i-1][j];
if(j==a[i]&&d[i-1][j]<1)
d[i][j]=1;
else
if(a[i]<j&&d[i-1][j-a[i]]>0&&d[i-1][j-a[i]]+1>d[i][j])
d[i][j]=d[i-1][j-a[i]]+1;
}
}
for(int i=n;i>=1;i--)
{
if(d[i][s]!=d[i-1][s])
{
std::cout<<a[i]<<" ";
s-=a[i];
}
}

return 0;
}

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.