Một số tự nhiên N có tổng các ước nhỏ hơn nó bằng chính nó được gọi là số hoàn hảo.[r]
(1)SỞ GD&ĐT VĨNH PHÚC
TRƯỜNG THPT NGUYỄN DUY THÌ
-KÌ THI CHỌN HSG LỚP 12, NĂM HỌC 2016 - 2017 MÔN: TIN HỌC – LẦN 1
Thời gian làm bài: 180 phút, không kể thời gian giao đề
-Tổng quan: Đề thi gồm 02 trang
TT Tên bài File chương
trình File liệu File kết quả Điểm
Bài Số hoàn hảo HOANHAO.PAS BAI1.INP BAI1.OUT
Bài Dãy số DAYSO.PAS BAI2.INP BAI2.OUT
Bài Đếm từ xâu XAU.PAS BAI3.INP BAI3.OUT
Bài Số hoàn hảo
Một số tự nhiên N có tổng ước nhỏ nó gọi số hồn hảo Ví dụ: Số số hồn hảo vì: Các ước 1, 2, = + +
* Dữ liệu:
Vào từ tệp văn HOANHAO.INP, gồm dòng ghi số N (2 < N < 1000) * Kết quả:
Ghi tệp văn HOANHAO.OUT: số hồn hảo có giá trị < N, số viết dòng
* Ví dụ:
BAI1.INP BAI1.OUT BAI1.INP BAI1.OUT
7 30
28
Bài Dãy số
* Dữ liệu: Vào từ tệp văn SUM.INP, gồm dòng: - Dòng 1: Số N
- Dòng 2: Dãy số a1, a2 ,an số cách dấu cách (0 ≤ ≤ 104 ; i = 1, 2, , N)
* Kết quả:
Ghi tệp văn SUM.OUT, gồm dịng:
- Dịng 1: Giá trị vị trí phần tử lớn dãy số (mỗi số cách dấu cách)
(2)* Ví dụ:
BAI2.INP BAI2.OUT
7
3 23 25 40
40 16
BÀI 3: Đếm từ xâu.
Chuẩn hóa xâu có nghĩa loại bỏ dấu cách dư thừa xâu * Dữ liệu:
Vào từ tệp văn XAU.INP, gồm dòng: xâu S có độ dài khơng q 255 kí tự
* Kết quả:
Ghi tệp văn XAU.OUT, gồm dòng:
- Dòng 1: ghi xâu sau chuyển hết ký tự in hoa - Dòng 2: ghi độ dài xâu sau chuẩn hóa
- Dịng 3: ghi số từ có xâu * Ví dụ:
BAI3.INP BAI3.OUT
thpt nguyen thi THPT NGUYEN DUY THI
19
- H T -Ế
Cán b coi thi không gi i thích thêm.ộ ả
H tên thí sinh: SBD: ọ
(3)Program hoanhao; Uses crt;
Var i, n: interger; f, g: text;
{Xay dung ham tinh tong cac uoc cua so nguyen duong} function tongus(n : integer): integer;
var i,s : integer; begin
s := 0;
for i := to n div
if n mod i = then s := s + i; tongus := s;
end;
Begin
Assign(f, ‘bai1.inp’); Reset (f);
Assign( g, ‘bai1.out’); Rewrite(g);
Read(f, n);
{kiem tra va in so hoan hao} For i:=1 to n
If i = tongus(i) then write(g, i);
Close(f); Close(g); Readln End
Bài
(4)Var i, n, , tong, dem, tb, max: interger; A: array[1 10000] of longint; F, g: text;
Begin
Assign(f, ‘bai2.inp’); Reset (f);
Assign( g, ‘bai2.out’); Rewrite(g);
Read(f, n); For i:=1 to n Begin
Readln(f, a[i]); End;
{Tim gia tri va vi tri cua phan tu lon nhat} Max:=a[1];
For i:=1 to n If max < a[i] then begin
max:=a[i]; Write(g, a[i]); Write(g, i); end;
{Ghi gia tri trung binh cong cua cac so le o vi tri chan day} Dem: =0;
Tong:=0; For i: to n
If (a[i] mod 2<> 0) and (i mod = 0) then Tong: = tong +a[i];
Inc(dem);
Tbc:= tong/dem; Writeln(g, tbc);
(5)Close(g); Readln End
Bài
Program xau; Uses crt; Var s: string; F, g: text;
X, i, dem: integer;
{Ham dem so tu xau s} Function sotu(s : string) : integer; Var i, dem : integer;
Begin
{ cong them dau cach dau xau de dem tu dau tien} S: = ‘’ + s;
Dem: = ; For i:= to x
If (s[i-1]=’’) and (s[i]<>’’) then inc(dem); Sotu:= dem;
End;
Begin
Assign(f, ‘bai3.inp’); Reset (f);
Assign( g, ‘bai3.out’); Rewrite(g);
Read(f, s); x:= length(s);
(6){chuan hoa xau}
while s[1]=' ' delete(s,1,1); while s[x]=' ' delete(s,x,1); for i:= x downto
if (s[i]=’’) and (s[i-1]=’’) then delete (s, i, 1); writeln(g, s);
{ghi so tu co xau} Writeln(g, Sotu(s));