1. Trang chủ
  2. » Giáo Dục - Đào Tạo

tài liệu hsg tin hoc

24 751 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 24
Dung lượng 299,5 KB

Nội dung

Bài 6: Tỡm UCLN của n số nguyờn dương: - Tệp b6.inp gồm 2 dũng: Dũng đầu tiờn chứa số nguyờn dương n, dũng thứ 2 chứa n số nguyờn dương - Tệp b6.out chứa 1 số nguyờn là UCLN của n số ngu

Trang 1

Bài 1: Tệp ‘sn.inp’ gồm 1 dãy sô nguyên, mỗi số cách nhau bằng 1 dấu cách, mỗi số có giá trị tuyệt đối không vượt quá 1000 Viết chương trình kiểm tra xem trong dãy đó số nào là số nguyên tố và đưa kết quả ra tệp ‘so.out’

VD: Tệp ‘so.inp’:

Tệp ‘so.out’:

Bài 2: Tính tổng các chữ số của số nguyên:

- tệp b2.inp chứa một dãy số nguyên dương (không quá 50 số), mỗi số phân cách nhau bởi 1 kí tự cách,giá trị mỗi số không vượt quá 60000

- Tệp b2.out chứa tống các chữ của mỗi số nguyên trong dãy

VD:

Bài 3: Tìm ưcln của 2 sô nguyên nhập từ bàn phím

- tệp b3.inp chứa 2 số nguyên trên cùng một dòng

- tệp b3.out chứa ucln

Bài 4: Viết ct kiểm tra xem 2 sô nguyên có phải là là số nguyên tố cùng nhauhay không ( 2 số nguyên được gọi là nt cùng nhau nếu có ucln =1)

- Tệp ‘b4.inp’ gồm 2 sô nguyên, tệp ‘b4.out’ chứa kết quả: nếu là snt cùng nhau thì ghi là “dung”, nếu không phải thi ghi là “sai”

1 9 7 3 -6

7 3

1200 35000 7289

3 8 26

Trang 2

VD: b4.inp:

B4.out:

Bai 5: Nhập dãy số thực a, tinh tổng a1 - a2+a3-a4+ an

Dữ liệu vào từ Tep.inp gồm 2 dòng:

- Dòng 1 chứa số nguyên n

- Dòng 2 là dãy số thực gồm n số hạng

Dữ liệu ra là Tệp.out là giá trị tổng

Bài 6: Tỡm UCLN của n số nguyờn dương:

- Tệp b6.inp gồm 2 dũng: Dũng đầu tiờn chứa số nguyờn dương n, dũng thứ

2 chứa n số nguyờn dương

- Tệp b6.out chứa 1 số nguyờn là UCLN của n số nguyờn từ tệp b6.inp

Bài 7: Tỡm xem trong cỏc sụ nguyờn từ 1 đến n cú bao nhiờu số hoàn thiện (số hoàn thiện là số nguyờn dương cú tổng cỏc ước số nguyờn dương bộ hơn

nú bằng chớnh nú)

- tệp b7.inp chứa số nguyờn dương n

- tệp b7.out chứa tất cả cỏc số hoàn thiện tỡm được trờn cựng một dũng

Bài 8: cho 2 phan so a/b va c/d hay xac dinh 2 so nguyen duong e va f thoa man e/f=a*c/(b*d) (e/f la phan so da toi gian)

Dữ liệu vào là tệp nhan.inp: Dũng 1 chứa 2 số a và b, dũng 2 chứa 2 số c và

d (a, b, c, d là cỏc số nguyờn dương khụng lớn hơn 10000

Dữ liệu ra là tệp nhõn.out chứa 2 số e và f trờn cựng một dũng

Bai 9: Cho một xâu s đếm xem trong xâu có mấy từ (từ làmột dãy các ký tự liên tiếp không cha dấu cách) dl vào tù filevăn bản demtu.inp gồm một xau ky tu không quá 255 kí tụ,kết quả ghi ra file demtu.out là một số nguyên dơng

Bai 10: Xâu đảo

Dữ liêu vào từ file văn bản xaudao.inp chứa một xâu st Kết quả ghi ra file vb xaudao.out xâu đảo ngợc của stBai 11 Viết chơng trình đọc từ tệp b11.inp xâu ký tự S vàthông báo ra tệp f2.out số lần xuất hiện của mỗi chữ cáitiếng Anh trong S (Không phân biệt chữ hoa, chữ thờng)VD:

Trong xau co 2 chu B

2 9

dung

Trang 3

Bài 12: Cho mảng 2 chiều m hàng, n cột (m,n<=50) Hãy điền các số nguyêndương từ 1 đến m*n vào mảng 2 chiều sao cho mảng được sắp thứ tự theohình vẽ: (ví dụ m=3, n=4) thì mảng có dạng sau:

1 2 3 4

8 7 6 5

9 10 11 12

Tệp b12.inp gồm 2 số nguyên dương m và n trên cùng một dòng

Tệp b12.out là các giá trị của mảng

Tệp b13.inp chứa một số nguyên n

Tệp b13.out chứa dãy sô nguyên và kết luận về số phần tử khác nhau

A, Kiem tra so nguyen to cua mang

B, Tim phan tu lon nhat cua tung dong

File songuyen.int nhu sau:

m na11 a12 a1na21 a22 a2n

am1 amnkÕt qu¶ xuÊt ra file v¨n b¶n songuyen.out

- ghi c¸c sè nguyªn tè cã trong m¶ng a tren 1 dong

- Ghi cac gia tri lon nhat tren dong thu 2

Trang 4

Bài 15: T×m d·y con t¨ng dµi nhÊt:

- D÷ liÖu vµo tõ tÖp M.inp:

+ Dong 1 chøa sè nguyªn n

Cho biến điều khiển i để duyệt dãy số (mảng), biến dmax để lưu độ dài dãy

số, biến luui để lưu vị trí đầu tiên của dãy số cần tìm

- ban đâu gán dmax:=0; i:=1

- trong khi i<n thì:

gán biến j:=I, kiểm tra nếu dãy còn tăng thì tăng j, đặt dmax:= j-i+1 nếu dmax<j-i+1, đặt luui:=I; tăng I (i:=j+1) để kiểm tra tiếp

Bài 16: Đề thi 2009-2010

Bài 17: Đề 2010-2011

Bài 18: Giai thừa của một số được cho bởi công thức sau: n!=1*2*…*nCho số N (N<=2.109) nguyên dương tính tổng giai thừa các chữ số của nó

- Tệp b18.inp chứa số nguyên N

- Tệp b18.out chứa giá trị của tổng giai thừa

Trang 5

Tệp b19.out:

- Nếu n không thoả mãn thì thông báo: NO

- Nếu thoả mãn thì thông báo YES và vị trí số đó trong dãy

vd: 2333 là 1 số siêu nguyên tố có 4 chữ số vì 233, 23, 2 cũng là các số nguyên tố.)

- Tệp b20.inp chứa sô nguyên n (2<=n<=10)

- Tệp b20.out: + Dòng đầu tiên chứa dãy số siêu nguyên tố có n chữ số

+ Dòng thứ 2 là số lượng các số siêu nguyên tố VD:

Bài 21: Kiểm tra 1 số nguyên dương có phải số siêu nguyên tố hay không?

Dữ liệu vào chứa số nguyên n

Dữ liệu ra: Nếu là số siêu nguyên tố thì kết luận ‘dung’, ngược lại thì kết luận ‘sai’

Vd:

Trang 6

Nhập một dóy A cú N số tự nhiờn (N<40), mỗi số khụng lớn hơn 1000 và 1

số K Hóy xuất ra cỏc phần tử cú số lần xuất hiện trong dóy A từ K lần trở lờn ( Mỗi số chỉ xuất 1 lần)

Dữ liệu nhập: file DAYSO.INP:

4 xuat hien 3 lan

6 xuat hien 2 lan

4

4 6 7 4 5 9 4 6

-1

Bài 23: tìm dãy con có tổng các phần tử nhỏ nhất

Input: chứa số nguyên n (n<100) và dãy số nguyên gồm n số hạng (mỗi số có giá trị tuyệt đối <=1000)

Output: 2 dong: dong 1 là vi tri bắt đầu và kết thúc của dãycon, dòng 2 là các phần tử của day con

VD: inp

out:

3 4-2 -4

Bài 24 Tìm đoạn dài nhất các phần tử liên tiếp nhau cùng chia hết cho một số nguyên K

- Dữ liệu vào từ tệp m.inp: Dòng Đầu tiên chứa hai số

nguyên N, K (khác 1), dòng tiếp theo chứa N số nguyên

5

2 3 -2 -4 7

Trang 7

- Dữ liệu ra là tệp M.out chứa số nguyên là độ dài đoạn dài nhất tìm đợc.

8 2

1 9 2 4 3 8 10 6

3

Bai 25: Tim day con chung 2 day Input la so nguyen

n(n<=100) va 2 day so co n chu so (mỗi sô có giá trị tuyệt

đối không vợt quá 1000, output la do dai day con dai nhat

Hỏi số ở vị trớ thứ k trong dóy trờn là số nào?

- Tệp inp chứa số nguyờn k (0<k < 10000)

- Tệp out gồm 2 dũng: Dũng 1 chứa dóy số, dũng 2 chứa số cuối cựng của dóy số

VD:

1Hướng dẫn: Dựng biến S để đếm số lượng cỏc số trong dóy, biến I để đếm cỏc số tự nhiờn bắt đầu từ 1

- Khi S cũn nhỏ hơn hoặc bằng K thỡ: gỏn cho biến S1=S, đồng thời tăng s và tăng I ( mỗi lần I tăng thờm 1, nếu i<10 thỡ s tăng thờm 1, nếu 10<=i<=99 thỡ s tăng 2,……….), tăng đến khi s>k thỡ dừng

- Chuyển số I thành xõu và gỏn cho biến x

- Nếu k = s1 thỡ số thứ k chớnh là (i-1) mod 10, nếu s1<k thỡ (tạo 1 xõu gồm n-s1 ký tự của xõu x, số thứ k là phần tử thứ n-s1 của xõu vừa tạo)

Bai 27: Cho số nguyên dơng n (n<=1000)

Day số A1,A2, Ai goi la day so dac biet neu no thoa man cac dieu kien

- La day giam dan

- Voi moi Ai thi Ai hoac la so nguyen to hoac la uoc cua mot trong cac so tu Ai+1 đến n

Trang 8

-inp: 1 dong la day so nguyen

- output: day so da bi dao

Kiểm tra cỏc số nguyờn tố bắt đầu từ số 2 và chuyển thành xõu, nếu I chia hết cho 2 (từng cặp) thỡ chuyển xõu thành số, kiểm tra số đú cú phải là

nguyờn tố khụng, nếu đỳng thỡ tăng d lờn 1

- Lặp đến khi d=m

Bài 31:

Tìm dãy con đối xứng dài nhất của một dãy số nguyên In put gồm 2 dòng: Dòng 1 chứa số nguyên N, dòng 2 chứa N sốnguyên,

Trang 9

Output gồm 2 dòng: Dong 1 là vị trí bắt đầu của dãy đối xứng và độ dài của dãy đx dòng 2 là các phần tử của dãy ĐXVD:

Viết chương trỡnh phõn tớch một số ra làm cỏc thừa số nguyờn tố:

- tệp input chứa số nguyờn n (n<30000)

- Tệp out là biểu thức đó được phõn tớch

VAR i,n :INTEGER;

Trang 10

- Tệp inp chứa số nguyên k

- Tệp out chứa tất cả các cặp số là bạn của nhau

FOR i:=1 TO k DIV 2 DO

IF k MOD i =0 THEN tong:=tong+i;

Kiểm tra 1 số có phải là số nguyên tố mạnh hay không Số nguyên tố mạnh

là số lớn hơn trung bình cộng của số nguyên tố liền trước và số nguyên tố liền sau nó.

- Tệp inp gồm nhiều dòng, dòng đầu tiên chứa sô nguyên n (n<=100),

n dòng tiếp theo mỗi dòng chứa 1 sô nguyên (0<=n<10000)

- Tệp out gồm n dòng, nếu là snt mạnh thì ghi true, ngược lại thì ghi False

Bai 36: Tim vi tri cuoi cung cua xau s1 trong xau s2

Trang 11

Input: gåm 2 dßng: mçi dong cha 1 x©u

Output: lµ vÞ trÝ cÇn t×m

12abc564ghabtrr

Bai 37: Tinh so lan lap cua xau s1 trong xau s2

Input: gåm 2 dßng: mçi dong chøa 1 x©u

Output: chøa sè lÇn lÆp

12abc564ghabtrr

Bai 38: Dem so phan tu khac nhau cua xau

Input: Chøa 1 x©u

Output: chøa 1 sè theo yªu cÇu

Bài 40: Đảo dãy số (de hsg 2006-2007)

Cho một dãy số có N số nguyên, mỗi số có trị tuyệt đối nhỏ hơn 2.000.000.000 Em hãy đưa ra một cách sắp xếp N số đó sao cho tổng lớn nhất của các cặp số cạnh nhau là nhỏ nhất.

Dữ liệu vào từ tệp văn bản DAODAY.INP

 Dũng đầu tiên chứa số nguyên N ( 2 ≤ N ≤ 1000),

 Dũng thứ hai chứa N số của dóy số trong dóy ban đầu.

Dữ liệu ra đưa ra tệp văn bản DAODAY.OUT

Chứa duy nhất một số là tổng lớn nhất của các cặp số cạnh nhau là nhỏ nhất (sau khi đã sắp xếp)

Ví dụ về dữ liệu vào và dữ liệu ra

Trang 12

Bài 43: Cho 2 dãy số nguyên a= (a1,a2, an) và b=(b1,b2, ,bn) Các phần

tử của mỗi dãy đã được sắp xếp theo thứ tự không giảm, mỗi phần tử có giá trị tuyệt đối không vượt quá 32000 Hãy hoà hai dãy a và b thành dãy không giảm c=(c1,c2, ,c2n)

Dữ liệu vào: Gồm 3 dòng: Dòng 1 chứa số nguyên n (1<=n<=100), 2 dòng còn lại chứa dãy a và b

Dữ liệu ra: chứa dãy c

Hãy xác định số cách ốp khác nhau có thể thực hiện

- Đọc dữ liệu từ tệp input gồm nhiều dòng:

Trang 13

+ Dòng đầu tiên chứa giá trị n

+ n dòng sau chứa các giá trị a (1<=a<=20)

Tệp output gồm a dòng, mỗi dòng chứa một kết quả tìm được

Bai 47: Cho trước một xâu nhị phân độ dài bất kỳ được đưa vào từ file văn bản

INPUT.TXT Cần biến đổi xâu nhị phân này về dạng toàn số 0 Các phép biến đổi có thể chỉ là một trong các loại sau:

- Biến đổi xâu con 11 thành 00.

- Biến đổi xâu con 010 thành 000.

Trang 14

Hãy chỉ một cách biển đổi xâu đã cho thành xâu có toàn 0 Kết quả thể hiện trong file OUTPUT.TXT như sau:

Dòng đầu tiên của OUTPUT.TXT chứa xâu ban đầu, sau đó mỗi dòng là một xâu tiếp theo sau một phép biến đổi, xâu cuối cùng là xâu toàn 0.

Ví dụ 1:

11010000 00010000 00000000

Ví dụ 2:

Bai 48: Dãy con

Cho một dãy số nguyên dương a1,a2, ,aN (10 < N < 10000), ai

<=10000 với mọi i=1 N và một số nguyên dương b (b < 100 000 000).

Yêu cầu : Tìm độ dài nhỏ nhất của dãy con chứa các phần tử liên tiếp

của dãy mà có tổng các phần tử lớn hơn hoặc bằng b

Dữ liệu vào: Đọc từ file SUB.INP gồm nhiều test, mỗi test chứa N và

S ở dòng đầu Dòng 2 chứa các phần tử của dãy

Dữ liệu ra: Kết quả ghi vào file SUB.OUT, mỗi test đưa một dòng

chứa độ dài của dãy con tìm được

Bài 49 - Đếm số ô vuông

Cho một bảng gồm NxN điểm nằm trên các mắt lưới ô vuông (3 ≤ N ≤100) các điểm kề nhau trên một hàng hay một cột có thể được nối với nhaubằng một đoạn thẳng hoặc không được nối Các đoạn đó sẽ tạo ra các ôvuông trên bảng

Ví dụ: với bảng sau đây thì N = 4 và có 3 ô vuông:

Trang 15

Trên mỗi hàng có thể có nhiều nhất N-1 đoạn thẳng nằm ngang và có tất cả

N hàng như vậy Tương tự như vậy có tất cả N-1 hàng các đoạn thẳng nằmdọc và trên mỗi hàng có thể có nhiều nhất N đoạn

Để mô tả người ta dùng hai mảng nhị phân: một mảng ghi các đoạn thẳngnằm ngang kích thước N x (N-1), và một mảng ghi các đoạn nằm dọc kíchthước (N-1) x N Trong mảng dùng số 1 để mô tả đoạn thẳng nối giữa 2điểm, còn số 0 miêu tả giữa 2 điểm không có đoạn thẳng nối Trong ví dụtrên thì:

Dữ liệu vào được nhập từ các tập tin: ngang.inp và doc.inp

+ Tập tin ngang.inp có N dòng, N-1 cột là các số 0 hoặc 1, mỗi sốđược ghi cách nhau ít nhất một dấu cách

+ Tập tin doc.inp có N-1 dòng và N cột là các số 0 hoặc 1, mỗi sốđược ghi cách nhau ít nhất một dấu cách

 Tập tin kq.out chứa kết quả cần tìm

Bài 50: Tính tích của số nguyên N và giá trị của xâu số:

input: Gồm 2 dòng: Dòng 1 chứa số nguyên n, dòng 2 là giá trị của xâu số.output: chứa kết quả tính được

Con ốc sên đang ở gốc của một cái cây cao v mét tính từ gốc Ốc sên muốn

bò lên ngọn cây để ăn những lá non trên đó Ban ngày ốc sên bò được a mét

lên trên, nhưng ban đêm, khi ngủ nó bị trôi xuống dưới b mét.

Yêu cầu: Cho các số nguyên v,a,b (1<=b<=a<=v<=109)

Hãy xác định số ngày cần thiết để ốc sên lên tới ngọn cây

Dữ liệu vào: Vào từ file văn bản SNAIL.INP gồm một dòng chứa 3 số

nguyên a,b,v

Trang 16

Kết quả : Đưa ra file văn bản SNAIL.OUT một số nguyên - kết quả tìm được

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

Yêu cầu: Cho một 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ừ 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 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ụ :

4 43silos0 zita002 le2sim 231233

0 2 2 43 231233

Trang 17

Yêu cầu: cho số nguyên dương n dãy xác định an (1<= n <=109).

Dữ liệu : vào tư file văn bản SEQUENCE.INP gồm nhiều tests, mỗi tests trên một dòng chứa một số nguyên n

Kết quả : Đưa ra file văn bản SEQUENCE.OUT, kết quả mỗi tests đưa ra trên một dòng

Ví dụ

1 12

1 77

Bài 54: Chuyển số thập phân sang hệ nhị phân

Dữ liệu vào từ tệp input:chữa 1 số thập phân

Dữ liệu ra: Là số ở hệ nhị phân tương ứng

Bài 55: Chuyển số nhị phân sang hệ thập phân

Dữ liệu vào từ tệp input:chữa 1 dãy bit

Dữ liệu ra: Là số ở hệ thập phân tương ứng với dãy bit đó

Bài 56: Chuyển số thập phân sang hệ 16

Dữ liệu vào từ tệp input:chữa 1 số thập phân

Dữ liệu ra: Là số ở hệ 16 tương ứng

Bài 57: Chuyển số hệ 16 sang hệ thập phân

Dữ liệu vào từ tệp input:chữa 1 dãy bit

Dữ liệu ra: Là số ở hệ thập phân tương ứng với dãy bit đó

Bài 58: Xâu đối xứng

Xâu đối xứng là xâu đọc giống nhau nếu ta bắt đầu đọc từ trái qua phải hoặc

từ phải qua trái Ví dụ, xâu RADAR là xâu đối xứng, xâu TOMATO không phải là xâu đối xứng

Yêu cầu: Cho một xâu S gồm không quá 200 kí tự Cho biết S có phải là xâu

đối xứng hay không? Nếu không, cho biết số kí tự ít nhất cần chèn vào S để

S trở thành xâu đối xứng

Trang 18

Dữ liệu: Vào từ file văn bản doixung.INP, gồm duy nhất 1 dũng ghi xõu S Kết quả: Ghi ra file văn bản doixung.OUT, duy nhất số k là số kớ tự ớt nhất

cần thờm vào S để S trở thành xõu đối xứng Nếu xõu S đó cho là đối xứng thỡ ghi k = 0

VD:

B ài 59:

Cho một số nguyên dơng k và một xâu ký tự s Xâu s chỉ gồm

các ký tự là các chữ cái la tinh thờng ‘a’ ’z’ và các chữ số ‘0’ ’9’, trong

đó có ít nhất k ký tự là chữ số Bạn hãy viết một chơng trình loại bỏ một số ký tự ra khỏi xâu s sao cho k ký tự còn lại, theo đúng thứ tự đó tạo nên số nhỏ nhất Trong k ký tự còn lại có thể cho phép các chữ số 0

đứng đầu.

Dữ liệu: Vào từ file văn bản MIN.OUT gồm 2 dòng Dòng thứ nhất chứa

số nguyên dơng k (k ≤ 10) Dòng thứ hai chứa xâu s có độ dài nhỏ

Trong lý thuyết số hai số nguyờn tố p và q được gọi là cặp số nguyờn tố sinh đụi nếu q –

p = 2 Vớ dụ, cỏc cặp số (3, 5), (11, 13), (17, 19) là cỏc cặp sinh đụi Trong trường hợp tổng quỏt, với số nguyờn dương k cho trước, cặp số nguyờn tố p và q được gọi là sinh đụi (tổng quỏt) nếu q – p = k Vớ dụ, với k = 4 cặp số nguyờn tố (3, 7) được gọi là sinh

đụi tổng quỏt.

Tồn tại giả thuyết là cỏc cặp số nguyờn tố sinh đụi nhiều vụ hạn Tuy nhiờn, điều đú chưa

được chứng minh Dễ dàng thấy rằng với k cho trước, xỏc định số cặp sinh đụi tổng quỏt

trong tập số tự nhiờn là bài toỏn phức tạp khụng kộm việc xỏc định số lượng cặp sinh đụi theo định nghĩa thụng thường.

Ở đõy chỳng ta xột một bài toỏn đơn giản hơn.

Yờu cầu: Cho n và k (1 ≤ n, k ≤ 106 ) Hóy xỏc định số cặp sinh đụi tổng quỏt trong

phạm vi từ 1 đến n.

Dữ liệu: Vào từ file văn bản sinhdoi.INP gồm một dũng chứa 2 số nguyờn n và k.

Kết quả: Đưa ra file văn bản sinhdoi.OUT Dũng đầu chứa một số nguyờn – số lượng cặp

tỡm được, n dũng tiếp theo chứa cỏc cặp.

Ngày đăng: 26/09/2018, 11:44

TỪ KHÓA LIÊN QUAN

w