Tải bản đầy đủ (.doc) (4 trang)

Tài liệu và lời giải luyện thi HSG tin 11

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (105.22 KB, 4 trang )

Bài tập luyện thi olympic tin học 11cấp trường Giáo viên: Bùi Văn Thái
Bài 1 Tìm các số nguyên dương nhỏ nhơn m (m>1) và nguyên tố cùng với m.Hai số a, b là
nguyên tố cùng nhau nếu UCLN(a,b)=1. Khi đó ta nói a nguyên tố cùng với b.
Vi du m=8 là 1 3 5 7 hoặc m=14 là 1 3 5 11 13
Bài 2 Tìm tất cả các các số hoàn chỉnh nhỏ hơn một số n cho trước. Số hoàn chỉnh là số bẳng
tổng các ước thật sự của nó.(ví dụ 6 có các ước thực sự là 1, 2, 3).
Bài 3. Xét hai số nguyên dương x, y bất kỳ có phải là cặp số bạn bè hay không.( x bạn bè với y
khi tổng các ước thật sự của x = y và ngược lại).
Bài 4. Tìm các số nguyên tố nhỏ hơn số nguyên dương n cho trước.
Bài 5. Tìm các cắp số nguyên tố sinh đôi nhỏ hơn số nguyên dương N ( nếu k là sô nguyên tố và
k+2 cũng là nguyên tố thì k với k+2 là cặp số nguyên tố sinh đôi)
Bài 6. Viết ra dãy số Fibonacci có số lớn nhất không vượt quá một số k cho trước.
Hướng dẫn.
Bước 1: a=1, b=1 viết ra a.
Bước 2: Nếu b > k thì kết thuc.
Nếu b <= k thì viết ra b.
Bước 3: c  a+b
a  b;
b  c
quay lại bước 2.
Bai 7.Cho một số tự nhiên N (N ≤ 150)
a) N có bao nhiêu chữ số.
b) Tính tổng các chữ số của n.
c) Tìm chữ số đầu, cuối của n.
(ví dụ N=142, có 3 chữ số, tổng các chữ số 7, số đầu là 1. số cuối 2)
Bài 8. Cho số n nguyên dương(n nhập từ bàn phím). Viết chương trình in ra màn hình các số
chính phương <= n.
Bài 9. Cho số n nguyên dương(n nhập từ bàn phím). Viết chương trình phân tích n ra các thừa số
nguyên tố.
Bai 10. Cho ma trận vuông n.Ma trận A được gọi là ma phương nếu tổng mỗi hàng, tổng mỗi cột,
tổng mỗi đường chéo (gồm đường chéo chình và đường chéo phụ) đều bằng nhau.


Bai 11. Cho dãy sô nguyên a1, a2,…an nguyên, các giá trị a1, a2,…an được tạo ngẫu nhiên và
không lớn hơn 100. Hãy sắp xếp các phân tử chẵn lên đầu dãy, lẻ xuống cuối dãy.
Bai 12. Cho dãy số nguyên a1, a2,…an nguyên, các giá trị a1, a2,…an được tạo ngẫu nhiên và
không lớn hơn 100. Hãy xoá các phần tử của dãy lớn 50.
Bai 13. Cho dãy số nguyên a1, a2,…an nguyên, các giá trị a1, a2,…an được tạo ngẫu nhiên và
không lớn hơn 100. Cho số k(k nhập từ bàn phím).Hãy sắp xếp dãy số đã cho theo chiều giảm
dần và chèn k vào đúng thứ tự mà không phải xếp lại dãy.
Bai 14 . Cho ma trận gồm m dòng, n cột, giá trị của các phân tử được sinh ngẫu nhiên là số 0 hoặc
1.Hãy in ra màn hình tam giác trên và tam giác dưới của ma trận trên.(tam giác dưới là các phần
tử nằm bên dưới đường chéo chính, còn lại là tam giác trên).
Bài tập luyện thi olympic tin học 11cấp trường Giáo viên: Bùi Văn Thái
Bai 15. Vẽ hình thoi gồm n(nếu n >0 và n lẻ nhập từ bàn phím). dòng bằng các dấu * ra màn
hình.
Bài 16. Cho xâu s (nhập từ bàn phím) là họ tên của một người bất kỳ. Viết chương trình xoá tất cả
các dấu cách ở đầu và cuối xâu. Khoảng cách giữa các từ chỉ duy nhất một dấu cách.
Vd: TRAN NGOC SON hoặc: tran ngoc son đều phải đưa về dạng: Tran Ngoc Son.
Bai 17. cho xâu s (nhập từ bàn phím) là họ tên của một người bất kỳ. Viết chương trình lấy ra
phân tên ra một xâu và họ đệm một xâu: Vd: Le Thi Thao Van. Thành. Le Thi Thao và Van.
Bài 15 Bài 9
uses crt;
var x,y,i,j,n:byte;
begin
clrscr; x:=40;y:=2;
write('nhap n=');readln(n);
for i:=1 to n div 2 do
begin
gotoxy(x,y); x:=x-1;y:=y+1;
for j:=1 to i do
write('*',' ');
writeln;

end;
for i:=1 to n-n div 2 do
begin
gotoxy(x,y); x:=x+1;y:=y+1;
for j:=n-n div 2 downto i do
write('*',' ');
writeln;
end;
readln
end.
uses crt;
var i,n:byte;
begin
clrscr;
write('nhap n=');readln(n);
i:=1;
while n >1 do
begin
inc(i);
while (n mod i) =0 do
begin
write(i,'.');
n:=n div i;
end;
end;
readln
end.
Bài 7
Bài 14
uses crt;

var n,x,y,dem,tong,d,c:integer;
begin
clrscr;
write('nhap n=');readln(n);
while (n < 0) or (n>255) do
begin
write('nhap lai n='); readln(n);
end;
x:=n; tong:=0; dem:=0;
while x > 0 do
begin
c:=n mod 10;
y:=x mod 10;
x:=x div 10;
if y < 10 then d:=y;
tong:=y+tong;
dem:=dem+1;
end;
writeln('tong cac chu so la:',tong);
writeln('so chu so cua n la:',dem);
writeln('so dau cua n la:',d);
writeln('so cuoi cua n la:',c);
readln
end.
uses crt;
var b:array[1 100,1 100] of byte;
i,j,m,n:byte;
begin
clrscr;
randomize;

write('nhap n=');readln(n);
for i:=1 to n do
for j:=1 to n do
b[i,j]:=random(2);
writeln('tam giac tren:');
for i:=1 to n do
begin
for j:=i to n do
begin
gotoxy(6*(1+j),3+i);
write(b[i,j]);
end;
writeln;
end;
writeln('tam giac duoi:');
for i:=2 to n do
begin
for j:=1 to i-1 do
write(b[i,j]:4);
writeln;
end;
writeln('ma tran day du:');
Bài tập luyện thi olympic tin học 11cấp trường Giáo viên: Bùi Văn Thái
for i:=1 to n do
begin
for j:=1 to n do
write(b[i,j]:4);
writeln;
end;
readln

end.
Bài 6 Bai 12
uses crt;
var c,a,b,k:integer;
begin
clrscr;
a:=1;b:=1;
write('nhap k=');readln(k);
writeln(a);
while b <k do
begin
c:=a+b;
a:=b;
b:=c;
if a< k then writeln(a);
end;
readln
end.
uses crt;
var a:array[1 50] of integer;
i,d,n:byte;
begin
clrscr;
write('nhap n=');readln(n);
d:=0;
for i:=1 to n do
begin
write('a[',i,']=');
readln(a[i]);
end;

for i:=1 to n do
begin
write(a[i]:5);
if a[i] >5 then
begin
d:=d+1;
a[d]:=a[i];
end;
end;
writeln;
for i:=1 to d do write(a[i]:4);
readln
end.
Bai 16 Bai 17
uses crt;
var s:string;
i,l:byte;
begin
clrscr;
write('nhap ho ten:');readln(s);
l:=length(s);
while s[1] = ' ' do delete(s,1,1); {xoa
cac dau cach dau xau}
while s[l]=' ' do
begin
delete(s,l,1); {xoa dau cach o cuoi
xau}
l:=l-1;
end;
i:=1;

while i< l do
if (s[i]=' ' ) and (s[i+1]=' ') then
delete(s,i,1) {xoa hai dau cach lien
tiep}
else i:=i+1;
{chuyen xau ve ki tu thuong}
for i:=1 to l do
if s[i] in ['A' 'Z'] then s[i]:=
chr(ord(s[i])+32);
{chuyen cac chu cai dau moi tu thanh hoa}
s[1]:=upcase(s[1]);
for i:=2 to l do
if s[i]=' ' then s[i+1]:=upcase(s[i+1]);
write('xau sau khi chuan hoa:',s);
readln
uses crt;
var s,HD,Ten:string;
vt,i,l:byte;
begin
clrscr;
write('nhap ho ten:');readln(s);
l:=length(s);
i:=l;
while s[i] <> ' ' do
i:=i-1;
vt:=i;
Ten:=copy(s,vt,l-vt+1);
HD:=copy(s,1,vt-1);
writeln(hd);
write(ten);

readln
end.
Bài tập luyện thi olympic tin học 11cấp trường Giáo viên: Bùi Văn Thái
end.
Bai 2 Bai 3
uses crt;
var n,s,j,i,k:integer;
begin
clrscr;
write('nhap n=');readln(n);
for i:=2 to n do
begin
s:=1;
for j:=2 to i div 2 do
if i mod j =0 then s:=s+j;
if s=i then writeln(s);
end;
readln
end.
uses crt;
var i,x,y,s1,s2:integer;
begin
clrscr;
writeln('nhap x=');readln(x);
write('nhap y=') ;readln(y);
s1:=1;
for i:=2 to x div 2 do
if x mod i = 0 then s1:=s1+i;
s2:=1;
for i:=2 to y div 2 do

if y mod i =0 then s2:=s2+i;
if (x=s2) and (y=s1) then
write(x,' va ',y,' la cap so ban be')
else write(‘khong la so ban be’);
readln
end.

×