1. Trang chủ
  2. » Y Tế - Sức Khỏe

DE THI HOC SINH GIOI

6 12 0

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

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

Nội dung

[r]

(1)

ĐỀ THI TIN HỌC Bài 1: Tên file đặt BL1.PAS (2,5 điểm)

Tại vương quốc Ba Tư xa xưa, người ta tổ chức thi tìm dãy số hạnh phúc : chàng trai cô gái thông minh thời gian ngắn phải tìm dãy số hạnh phúc có nhiều phần tử

Dãy số tự nhiên a1, a2, , ak gọi hạnh phúc thoả mãn điều kện sau :

- Dãy dãy giảm dần

- Với i (1<i<=k) số nguyên tố, phải ước số

a1, a2, , ai-1

Em viết chương trình giúp chàng trai gái Ba Tư để : Nhập vào số N từ bàn phím in hình dãy số hạnh phúc dài với số hạng N Ví dụ :

Nhập N Đọc hình

8 DAY THOA MAN:

Bài 2: Tên file đặt BL2.PAS (2,5 điểm)

Cho số tự nhiên N dãy số Fibonaci 1, 1, , 3, 5, 8,

Hãy viết chương trình kiểm tra xem N phân tích thành tổng số Fibonaci khác hay khơng (tổng có số hạng ) thơng báo hình cách biểu diễn đó, khơng có thơng báo: KHONG TH E PHAN TICH

Nhập N Đọc hình

20 20=13+5+2

Bài 3: Tên file đặt BL3.PAS (2,5 điểm)

Một số n gọi số phản nguyên tố ước số nhiều n số tự nhiên Cho số K (K<=10000) Hãy tìm tất số phản nguyên tố nhỏ K

Ví dụ :

Nhập k Đọc hình

1000 840

Bài 4: Tên file đặt BL4.PAS (2,5 điểm)

Trên đường thẳng cho trước người ta đánh dấu n điểm khác : A1, A2, , An

(n>=4 ), điểm

đánh dấu bốn màu: xanh, đỏ, tím, vàng Mỗi màu sử dụng lần trình đánh dấu

Lập chương trình thực công việc sau :

(2)

b) Chỉ đoạn thẳng dài thoả mãn: Có hai màu, màu xuất lần hai màu lại, màu xuất lần (nếu có nhiều đoạn thoả mãn đọc tất đoạn thẳng đoạn dịng)

Ví dụ : Nhập

N

Dãy A Đọc hình

10 T V V D T V D X T V DOAN THOA MAN DAI NHAT LA:

V V D T V D X

ĐÁP ÁN

Bµi1:

{Day so hanh phuc} uses crt;

var a: array[1 1000]of integer; i,j,k,n,d:integer;

kt:boolean;

function nt(n:longint):boolean; var i:longint;

begin

if n<2 then nt:=false else begin

i:=2;

while (i<=sqrt(n)) and (n mod i<>0) inc(i); nt:=(i>sqrt(n));

end; end; BEGIN

clrscr;

write('vao n=');readln(n); if n=2 then write(n,' ',1) else

begin

d:=1; a[1]:=n;

(3)

if(nt(i)) then begin inc(d);a[d]:=i;a[d]:=i;end else

begin

kt:=false;

for j:=1 to d-1

if a[j] mod i=0 then kt:=true; if kt then begin

inc(d); a[d]:=i; end;

end; end;

for i:=1 to d write(a[i],' '); end;

readln; END

Bài 2:

uses crt;

var a:array[1 1000]of longint; k,i,n,m,h:longint;

function fbnx(k:longint):boolean; var i:longint;

f:array[1 100]of longint; begin

f[1]:=1; f[2]:=1; i:=3; repeat

f[i]:=f[i-1]+f[i-2]; inc(i);

until f[i-1]>=k; fbnx:=(f[i-1]=k); end;

BEGIN clrscr;

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

if (n=0) or(n=1) then begin write('KHONG THE PHAN TICH.');readln;exit;end;

if (n=2) then begin write('KHONG THE PHAN TICH.');readln;exit;end;

(4)

k:=0;

if not fbnx(n) then begin

repeat

for i:=n downto

if fbnx(i) then begin inc(k);a[k]:=i;n:=n-i;break;end;

until (n=0)or (n=1); write('',m,'=');

if n=0 then begin

for i:=1 to k-1 write('',a[i],'+'); write(a[k]);

end; if n=1 then begin

for i:=1 to k-1 write('',a[i],'+'); write('',a[k],'+1');

end; end

else

begin

write('',n,'='); h:=0;

for i:=n-1 downto if fbnx(i) then begin h:=i;write('',i,'+');break;end; write(n-h);

end; readln end

Bài 4:

USES CRT;

var n,k,i,j,c,d1,h,max:integer;

d,dau,cuoi:array[1 255] of integer; MAU: string;

BEGIN CLRSCR;

write('VAO DAY MAU LA CAC KI TU IN HOA: ');readln(MAU); WRITELN(************************);

i:=1; repeat

(5)

repeat

for k:=1 to d[k]:=0; for k:=i to j

begin

if (MAU[k]='X') then inc(d[1]); if (MAU[k]='D') then inc(d[2]); if (MAU[k]='T') then inc(d[3]); if (MAU[k]='V') then inc(d[4]); end;

if((d[1]=1)and(d[2]=1)and(d[4]<>0)and(d[3]<>0)) or

((d[1]=1)and(d[3]=1)and(d[2]<>0)and(d[4]<>0)) or

((d[1]=1)and(d[4]=1)and(d[2]<>0)and(d[3]<>0))

or((d[3]=1)and(d[2]=1)and(d[1]<>0)and(d[4]<>0))

or((d[4]=1)and(d[2]=1)and(d[1]<>0)and(d[3]<>0))

or((d[3]=1)and(d[4]=1)and(d[2]<>0)and(d[1]<>0)) then

begin inc(h);

if j-i+1 >max then max:=j-i+1; dau[h]:=i;cuoi[h]:=j;

end; inc(j);

until j>length(MAU); inc(i);

until i>length(MAU); if h>0 then

begin

write(' DOAN MAU THOA MAN LA :');

for i:=dau[1] to cuoi[1] write(MAU[i]);writeln; for i:=1 to h

begin

if cuoi[i]-dau[i]+1=max then begin

write(' DOAN MAU DAI NHAT THOA MAN LA :');

for j:=dau[i] to cuoi[i] write(MAU[j]);writeln;

(6)

end; end

else writeln('KHONG CO DOAN MAU NAO THOA MAN'); readln

Ngày đăng: 23/04/2021, 20:57

TỪ KHÓA LIÊN QUAN

w