ХКОИС
ХРРЦ
Регистрация
Забыли пароль?
Логин:
Пароль:
Поиск
Справочные сведения о системе образования Хабаровского края
Новости образования Хабаровского края
Информация и документы из министерства образования и науки Хабаровского края
Хабаровская краевая заочная физико-математическая школа
РЕГИОНАЛЬНАЯ ОЛИМПИАДА ШКОЛЬНИКОВ
Подготовка к олимпиадам по информатике
Подготовка к олимпиадам по информатикеЗадачи прошедших олимпиад > 2007 год. Задачи, рекомендованные для школьных и муниципальных туров
2007 год. Задачи, рекомендованные для школьных и муниципальных туров

Примерные задачи для конкурсных заданий школьного тура олимпиады по информатике с решениями

  1. Десятичное число состоит из N разрядов (5 < N < 20). Введите N и цифры числа и определите, является ли число кратным 3.
  2. Десятичное число состоит из N разрядов (N – четное число). Введите N и цифры числа и определите, является ли число «счастливым номером». Число будем называть счастливым номером, если сумма цифр слева от середины числа, равна сумме цифр справа от середины числа. Например: 123402 – «счастливый номер», так как 1 + 2 + 3 = 6 и 4 + 0 + 2 = 6.
  3. Введите целое положительное число A, найдите и напечатайте все его делители кратные 7, либо сообщение о том, что таких делителей нет.
  4. Введите целое положительное десятичное число B. Напишите программу, выбирающую из систем счисления с основаниями 3 и 7 такую, в которой сумма цифр записи данного числа будет наименьшей.
  5. Введите целое положительное десятичное число C. Найдите количество цифр «1» в записи этого числа в системах счисления с основаниями 3 и 6. Напечатайте результат и сообщение о том, в какой системе счисления таких цифр больше.
  6. Введите целое положительное десятичное число D. Найдите сумму различных простых множителей, образующих это число. Например: число 28 является произведением простых чисел 28 = 2 × 2 × 7, различные множители 2 и 7, их сумма 2 + 7 = 9.
  7. Найдите три первые простые числа большие заданного положительного числа M, сумма цифр которых четна.
  8. Сформируйте массив из 10 целых чисел, начиная с данного числа A (A > 1), расположенных в порядке возрастания и не имеющих общих делителей отличных от 1. Таких последовательностей может быть много – сформируйте любую.
  9. Массив A содержит N элементов, являющихся цифрами некоторого целого положительного числа, записанного в системе счисления с основанием D. Напишите программу для ввода данных, а также вычисления и печати результата умножения числа, заданного массивом цифр на введенное десятичное целое число P. Результат умножения должен быть представлен в системе счисления с основанием D.
  10. Напишите программу, формирующую символьную запись числа в системе счисления с основанием D (1 < D < 30). Для записи используйте цифры 0–9, а также латинские буквы ABCDEFGH …. Для цифры, имеющей десятичное значение 10 – используйте A, 11 – B, 12 – C и так далее в порядке латинского алфавита.
  11. Напишите программу, формирующую запись введенного целого положительного числа N (0 < = N < 32000) с помощью числительных по правилам русского языка. Например: 1254 – «одна тысяча двести пятьдесят четыре», 30100 – «тридцать тысяч сто».

Решения некоторых задач на языке Турбо-Паскаль

Программа решения задачи № 1.

program ts1;
var
n,a,i,s:integer;
begin
write('n=');
readln(n);
s:=0;
for i:=1 to n do
begin
write('a[',i:2,']=');
readln(a);
s:=s+a
end;
if s mod 3=0 then writeln('YES!')
else writeln('NO!')
end.


Программа решения задачи № 2.

 

program ts2;
var
a,a1,b,i,s7,s3:integer;
begin
write('A=');
readln(A);
s3:=0;
s7:=0;
a1:=a;
while a1<>0 do
begin
i:=a1 mod 3;
s3:=s3+i;
a1:=a1 div 3
end;
a1:=a;
while a1<>0 do
begin
i:=a1 mod 7;
s7:=s7+i;
a1:=a1 div 7
end;
if s3>s7 then writeln(3,s3)
else
if s3<s7 then writeln(7,s7)
else writeln(s3,'=',s7)
end.


Программа решения задачи № 3.


program ts3;
var
n,a,i:integer;
begin
write('a=');
readln(a);
n:=0;
if a mod 7<>0 then
writeln('7 ne kratno')
else
for i:=1 to a div 7 do
if a mod (i*7)=0 then writeln(i*7);
end.

Программа решения задачи № 4.


program ts4;
var
a,a1,b,i,s7,s3:integer;
begin
write('A=');
readln(A);
s3:=0;
s7:=0;
a1:=a;
while a1<>0 do
begin
i:=a1 mod 3;
s3:=s3+i;
a1:=a1 div 3
end;
a1:=a;
while a1<>0 do
begin
i:=a1 mod 7;
s7:=s7+i;
a1:=a1 div 7
end;
if s3>s7 then writeln(3,'=>',s3)
else
if s3<s7 then writeln(7,'=>',s7)
else writeln(s3,'=',s7)
end. 

Программа решения задачи № 5.

program ts5;
var
d,d1,s3,s6,i:integer;
begin
write('D=');
readln(d);
s3:=0;
s6:=0;
d1:=d;
while d1<>0 do
begin
if (d1 mod 3)=1 then s3:=s3+1;
d1:=d1 div 3
end;
d1:=d;
while d1<>0 do
begin
if (d1 mod 6)=1 then s6:=s6+1;
d1:=d1 div 6
end;
writeln ('3 — ',s3,' 6 — ',s6);
if s3>s6 then writeln('v 3 >')
else
if s3<s6 then writeln('v 6 >')
else writeln('=')
end.


Программа решения задачи № 6.

program ts6;
var
d,old,s,i:integer;
begin
write('D=');
readln(d);
s:=0;
old:=1;
i:=2;
repeat
while (d mod i)=0 do
begin
if i<>old then begin
s:=s+i;
old:=i
end;
d:=d div i
end;
i:=i+1
until d=1;
writeln ('s = ',s);
end.


Программа решения задачи № 7.

program ts7;
var
M,k,s,g,h,i:integer;
begin
write('M=');
readln(M);
k:=0;
s:=M+1;
repeat
i:=2;
while (s mod i<>0)and(i<sqrt(s)) do
i:=i+1;
if s mod i<>0 then
begin
h:=0;
g:=s;
while g<>0 do
begin
h:=h+g mod 10;
g:=g div 10
end;
if h mod 2=0 then
begin
writeln('--',s);
k:=k+1
end
end;
S:=S+1
until k=3
end.
 

Copyright © 2005–2017 ХабЦНИТ ТОГУ Отправить письмо
Создание сайтов в Хабаровске