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.

thầy cô hỗ trợ em với ạ

đề bài:

Bài 1: Tính tổng

Trên một màn hình lớn, người ta lần lượt cho hiện ra các số của một dãy gồm N số nguyên không âm a1, a2, …, aN và cứ lặp đi lặp lại như thế (nghĩa là sau khi ai xuất hiện vài giây đến lượt ai+1 xuất hiện, số xuất hiện sau aN là a1).

Yêu cầu: Bạn được đề nghị tính tổng của K số nguyên liên tiếp xuất hiện trên màn hình bắt đầu từ số nguyên thứ B.

Dữ liệu vào: Chứa trong file BAI1.INP gồm hai dòng:

+ Dòng đầu tiên ghi ba số nguyên N, K, và B, 1 £ N £104; 1 £ K £ 2. 104 ; 1 £ B £ 109.

+ Trong N dòng sau, dòng thứ i chứa số ai (ai < 2.109).

Dữ liệu ra: Ghi ra file BAI1.OUT một số là tổng tìm được.

Ví dụ:

BAI1.INP

BAI1.OUT

5 7 6

2

3

6

7

9

32

Bài 2. Đổi giày DOIGIAY.PAS

Bờm là chủ một cửa hiệu bán giày. Một ngày nọ, Bờm kiểm tra kho và thấy trong kho còn lại 2*N chiếc giày, trong đó có N chiếc giày chân trái với kích thước lần lượt là a1, a2, …, aN, N chiếc giày chân phải với kích thước lần lượt là b1, b2, …, bN. Hai chiếc giày chỉ có thể hợp thành một đôi nếu chúng là một cặp trái - phải có cùng kích thước. Bờm quyết định mang một số giày đến nhà sản xuất để đổi.

Hãy xác định giúp Bờm số ít nhất các chiếc giày cần đổi nếu cậu ta muốn cửa hiệu của mình có thể bán được N đôi giày.

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

· Dòng 1: Số nguyên N (1 ≤ N ≤ 100).

· Dòng 2: N số nguyên a1, a2, …, aN (1 ≤ ai ≤ 1000, i = 1, 2,…, N).

· Dòng 3: N số nguyên b1, b2, …, bN (1 ≤ bi ≤ 1000, i = 1, 2,…, N).

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

· Dòng 1: Số nguyên là số giày ít nhất cần đổi.

Ví dụ

shoes.inp

shoes.out

Giải thích

3

1 3 1

3 2 1

1

Đổi 1 chiếc giày chân trái kích thước 1 thành giày chân trái kích thước 2 hoặc đổi 1 chiếc giày chân phải kích thước 2 thành giày chân phải kích thước 1.

Bài 3: TUOI.PAS

Tuổi của cha hiện nay là b tuổi, tuổi của con là c tuổi (b-c > 0 và 0<b,c<150 b, c là các số nguyên dương). Hãy viết chương trình để kiểm tra xem tuổi cha có gấp đôi tuổi con hay không? Nếu đúng thì thông báo “YES”; trường hợp ngược lại, hãy tính số K năm (trước đó hoặc sau đó) tuổi cha gấp đôi tuổi con và thông báo “-K” nếu là K năm trước đó tuổi cha gấp đôi tuổi con hay “K” nếu sau K năm tuổi cha sẽ gấp đôi tuổi con”.

Ví dụ

Tuoi.inp

Tuoi.out

48 24

YES

49 24

1

47 24

-1

Gợi ý: Nếu b>2*c thì tăng i cho đến khi b+i=(c+i)*2 thông báo sau i năm

nếu b< 2*c thì tăng i cho đến khi b-i = 2*(c-i) thông báo trước i năm khác

Bài 4. Giá trị biểu thức BIEUTHUC.PAS

Cho một xâu chỉ chứa các kí tự: chữ số, dấu cộng, dấu trừ, thể hiện một biểu thức số học. Yêu cầu tính giá trị của biểu thức đã cho. các số hạng và giá trị của biểu thức có độ lớn không quá hai tỉ.

Dữ liệu vào từ tệp bieuthuc.inp chứa duy nhất một xâu kí tự thể hiện biểu thức cần tính.

Kết quả đưa ra tệp bieuthuc.out chứa một số nguyên là giá trị của biểu thức.

bieuthuc.inp

bieuthuc.out

12+3-7

8

Bài 6 duongdi.pas

Cho một ma trận vuông cấp n gồm các phần tử là các số nguyên dương. Hãy viết chương trình tìm đường đi từ ô đầu tiên bên trâí đến ô cuối cùng bên phải sao cho trên đường đi đó có tổng các giá trị lớn nhất. biết đường đi chỉ được phép đi sang phải hoặc đi xuống dưới.

Ví dụ

duongdi.inp

Duongdi.out

4

1 2 3 4

2 5 3 1

1 9 7 2

4 5 8 1

1 1

1 2

2 2

3 2

3 3

4 3

4 4

3
9 tháng 2 2020

program Doi_giay;
var n,i,j,d:longint;
a,b:array[1..1000] of longint;
begin
readln(n);
for i:=1 to n do
read(a[i]);
for j:=1 to n do
read(b[j]);
for i:=1 to n do
for j:=1 to n do
if a[i]=b[j] then begin a[i]:=0;
b[j]:=0; end;
for i:=1 to n do
if a[i]<>0 then d:=d+1;
write(d);
end.

31 tháng 12 2019

Mình có bài này ở gmail bạn gửi địa chỉ gmail của bạn để mình chuyển đáp án nhé

30 tháng 10 2019

đề thi khảo sát hsg trường thôi mà mn

var i,n,d:word;
t,b,kt:array[1..10] of word;

procedure nhap;
var f:text;
begin
assign(f,'dulieu.inp');
reset(f);
readln(f,n);
for i:=1 to n do read(f,t[i]);
close(f);
fillchar(b,sizeof(kt),0);
end;

procedure tailap;
var i,j,d:integer;
begin
for i:=1 to n do
begin
d:=0;
for j:=1 to n do
begin
if b[j]=0 then d:=d+1;
if d=t[i]+1 then break;
end;
b[j]:=i;
end;
end;

BEGIN
nhap;
tailap;
for i:=1 to n do write(b[i],' ');
readln
END.

Có n file đánh số 1, 2, ..., n. File thứ i có kích thước là ai. Cho trước một số đĩa mềm trắng, dung lượng của mỗi đĩa là M. Yêu cầu: Hãy tìm cách ghi file lên các đĩa mềm sao cho số đĩa mềm phải dùng là ít nhất. (Tất nhiên mỗi đĩa không thể chứa quá dung lượng M và mỗi file phải nằm gọn trong một đĩa nào đó chứ không được cắt nhỏ và ghi vào nhiều đĩa khác nhau). Ràng buộc: 1...
Đọc tiếp

Có n file đánh số 1, 2, ..., n. File thứ i có kích thước là ai. Cho trước một số đĩa mềm trắng, dung lượng của mỗi đĩa là M.

Yêu cầu: Hãy tìm cách ghi file lên các đĩa mềm sao cho số đĩa mềm phải dùng là ít nhất. (Tất nhiên mỗi đĩa không thể chứa quá dung lượng M và mỗi file phải nằm gọn trong một đĩa nào đó chứ không được cắt nhỏ và ghi vào nhiều đĩa khác nhau).

Ràng buộc: 1 ≤ n ≤ 100; các ai và M là các số nguyên dương: 1 ≤ ai ≤ M ≤ 10000. ∀i

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

. Dòng 1: Chứa 2 số n, M.

. Các dòng tiếp: Chứa các số từ a1 đến an theo đúng thứ tự đó.

Kết quả: Ghi ra file văn bản DISKS.OUT

. Dòng 1: Ghi số k là số đĩa phải dùng.

. Dòng thứ i trong k dòng tiếp theo: Ghi số hiệu của các file được ghi vào đĩa mềm thứ i.

Ví dụ:

DISKS.INP DISKS.OUT

8 14

9 7 4 3 3 2 8 6

3

1 4 6

7 8

2 3 5

2
18 tháng 2 2020

ko hiểu gì luôn ???lolang

Có N người sắp hàng mua vé dự buổi hoà nhạc. Ta đánh số họ từ 1 đến N theo thứ tự đứng trong hàng. Mỗi người cần mua một vé, song người bán vé được phép bán cho mỗi người tối đa hai vé. Vì thế, một số người có thể rời hàng và nhờ người đứng trước mình mua hộ vé. Biết ti là thời gian cần thiết để ngườii mua xong vé cho mình. Nếu người i+1 rời khỏi hàng và nhờ người i...
Đọc tiếp

Có N người sắp hàng mua vé dự buổi hoà nhạc. Ta đánh số họ từ 1 đến N theo thứ tự đứng trong hàng. Mỗi người cần mua một vé, song người bán vé được phép bán cho mỗi người tối đa hai vé. Vì thế, một số người có thể rời hàng và nhờ người đứng trước mình mua hộ vé. Biết ti là thời gian cần thiết để ngườii mua xong vé cho mình. Nếu người i+1 rời khỏi hàng và nhờ người i mua hộ vé thì thời gian để người thứ i mua được vé cho cả hai người là ri.

Yêu cầu: Xác định xem những người nào cần rời khỏi hàng và nhờ người đứng trước mua hộ vé để tổng thời gian phục vụ bán vé là nhỏ nhất.

Dữ liệu vào

  • Dòng đầu tiên chứa số N (1 ≤ N ≤ 60000).
  • Dòng thứ 2 ghi N số nguyên dương t1, t2, ..., tN. (1 ≤ ti ≤ 30000)
  • Dòng thứ ba ghi N-1 số nguyên dương r1, r2, ..., rN-1. (1 ≤ ri ≤ 30000)

Kết quả

In ra tổng thời gian phục vụ nhỏ nhất.

help mình

0
1. Nhập vào một số n (5<=n<=10) và n phần tử của dãy Ai với 1<Ai<100 (có kiểm tra dữ liệu khi nhập vào. Viết chương trình, thuật toán a. In ra các phần tử là số nguyên tố của dãy b. Tính ƯCLN của tất cả các phần tử của dãy c. Tính biểu thức sau: S=ai1+ai2+ai3+...+ann d. Sắp xếp và in ra dãy sau sắp xếp 2. Viết chương trình, thuật toán tối giản phân số bằng cách chia cả tử và mẫu cho...
Đọc tiếp

1. Nhập vào một số n (5<=n<=10) và n phần tử của dãy Ai với 1<Ai<100 (có kiểm tra dữ liệu khi nhập vào. Viết chương trình, thuật toán

a. In ra các phần tử là số nguyên tố của dãy

b. Tính ƯCLN của tất cả các phần tử của dãy

c. Tính biểu thức sau: S=ai1+ai2+ai3+...+ann

d. Sắp xếp và in ra dãy sau sắp xếp

2. Viết chương trình, thuật toán tối giản phân số bằng cách chia cả tử và mẫu cho ƯCLN

3. Viết chương trình con tính xy với x,y là 2 stn được nhập từ bàn phím

4. Viết chương trình con tính giai thừa của n với n stn được nhập từ bàn phím

5. Viết chương trình, thuật toán tìm số hoàn chỉnh, số chính phương, số nguyên tố và BCNN

6. Nhập giá trị của mảng chia hết cho 3 và 5. Sắp xếp các phần tử chia hết cho 3 và 5 theo chiều tăng dần

7. Nhập dữ liệu cho các phần tử của mảng và đưa ra màn hình mảng vừa nhận. Tính tổng của các giá trị của các phần tử tính từ các phần tử lẻ đến số lượng các phần tử lẻ

8. Viết chương trình dùng câu lệnh repeat until Tính tổng của \(A=\dfrac{1}{1\cdot3}+\dfrac{1}{2\cdot4}+...+\dfrac{1}{n\left(n+2\right)}\)

9. Viết chương trình tính hàm \(e^x=1+x+\dfrac{x^2}{2!}+....+\dfrac{x^n}{n!}\)

10. Viết chương trình tính an với a,n được nhập từ bàn phím

Các Bn viết đầy đủ thuật toán, chương trình giúp Mk nhé

1
23 tháng 3 2018

dài thế thì ai rảnh mà làm

Trong kỳ thi học sinh giỏi môn Tin học, em là người đạt giải đặc biệt. Ban tổ chức cho phép em chọn các phần thưởng cho mình. Các phần thưởng xếp thành một dãy được đánh số từ 1 đến N (0 ≤ N ≤ 10000), phần thưởng thứ i có giá trị là ai (1 ≤ ai ≤ 100). Em được phép chọn các phần thưởng cho mình theo nguyên tắc không chọn 3 phần thưởng liên tiếp nhau trong dãy. Em hãy lập chương...
Đọc tiếp

Trong kỳ thi học sinh giỏi môn Tin học, em là người đạt giải đặc biệt. Ban tổ chức cho phép em chọn các phần thưởng cho mình. Các phần thưởng xếp thành một dãy được đánh số từ 1 đến N (0 ≤ N ≤ 10000), phần thưởng thứ i có giá trị là ai (1 ≤ ai ≤ 100). Em được phép chọn các phần thưởng cho mình theo nguyên tắc không chọn 3 phần thưởng liên tiếp nhau trong dãy. Em hãy lập chương trình chọn ra các phần thưởng sao cho tổng giá trị của các phần thưởng nhận được là lớn nhất.

Dữ liệu: Cho trong file PTHUONG.INP gồm các dòng:

- Dòng đầu tiên là số phần thưởng N.

- Dòng tiếp theo ghi N số ai (1 ≤ i ≤ N).

Kết quả: Ghi ra file PTHUONG.OUT gồm ba dòng:

- Dòng đầu ghi tổng giá trị lớn nhất của các phần thưởng đã chọn và số lượng các phần tử được chọn đó.

- Dòng tiếp theo ghi vị trí của các phần thưởng đã chọn theo thứ tự trong dãy.

- Dòng cuối cùng ghi giá trị của các phần thưởng đã chọn theo thứ tự trong dãy.

Ví dụ:

PTHUONG.INP PTHUONG.OUT

7

6 9 1 3 5 10 4

32 5

1 2 4 6 7

6 9 3 10 4

1
20 tháng 2 2020

uses crt;

type mang= array[0..10000 ] of byte;

var a,d,m:mang; dd:array[1..20,1..400] of byte;

b:array [1..10000] of boolean;

r,dem, t,n,max,i,j:integer;

f:text;

procedure doc;

var i:integer;

begin

assign(f,'pthuong.inp');

reset(f);

readln(f,n);

for i:=1 to n do

readln(f,d[i]);

close(f);

end;

function kt( c:mang):boolean;

var i,j:longint;

q:boolean;

begin

i:=1;

q:=true;

while (i<=r-2) and q do

begin

j:=1;

while c[i+j-1]+1=c[i+j] do

j:=j+1;

if j>=3 then q:=false else q:=true;

i:=i+1;

end;

kt:=q;

end;

Procedure print;

var i,tong: byte;

begin if kt(a)=true then

begin dem:=dem+1;

tong:=0;

for i:=1 to r do

begin

dd[dem,i]:= a[i];

tong:=tong+d[a[i]];

end; m[dem]:=tong;

end;

end;

Procedure Find(k:byte);

var j: byte;

begin

if k>r then print else

begin

for j:=1 to n do

if b[j] and (j>a[k-1]) then

begin

a[k]:=j; b[j]:=false;

Find(k+1);

b[j]:=true;

end;

end;

end;

begin

clrscr;

doc;

dem:=0;

r:= n-(n div 3);

for t:=1 to n do

b[t]:=true; a[0]:=0;

Find(1);

max:=m[1];

for i:=1 to dem do

if max< m[i] then max:=m[i];

assign(f,'PTHUONG.OUT');

rewrite(f);

writeln(f,max);

for i:=1 to dem do

if max=m[i] then

begin

j:=1;

while (dd[i,j] <>0) do

begin

write(f,dd[i,j]:2);

j:=j+1;

end;

end;

close(f);

end.

Bạn tham khảo bộ code này nhé.

21 tháng 2 2020

Cảm ơn nhiều ạ.