Главная
Регистрация
Вход
Среда
25.12.2024
10:29
Приветствую Вас Гость | RSS

Сайт учителя информатики  

Тиньковой Елены Николаевны  


Меню сайта

Ученикам

Учителю

Категории раздела
В помощь ученику [8]
Школьные задания [17]
информация [44]
инф

Наш опрос
Оцените мой сайт
Всего ответов: 229

 2 урок 
олимпиада 2013-2014
Регламент проведения олимпиады.

Время выполнения: 5 часов.

Языки программирования:

·        Turbo Pascal,

·        Visual Basic,

·        C++,

·         Object Pascal,

·         QBasic,

·         Free Pascal,

·        ABC Pascal.

Максимальное количество баллов:

·        7-9 классы 100;

·         9-10 классы 130.



Список задач для олимпиады по информатике 10-11 классов.



1.  Постулат Бертрана

(Время: 1 сек. Память: 16 Мб Сложность: 30 баллов)

Постулат Бертрана (теорема Бертрана-Чебышева, теорема Чебышева) гласит, что для любого n > 1 найдется простое число p в интервале n < p < 2n. Такая гипотеза была выдвинута в 1845 году французским математиком Джозефем Бертраном (проверившим ее до n=3000000) и доказана в 1850 году Пафнутием Чебышевым. Раманужан в 1920 году нашел более простое доказательство, а Эрдеш в 1932 – еще более простое.

Ваша задача состоит в том, чтобы решить несколько более общую задачу – а именно по числу n найти количество простых чисел p из интервала n < p < 2n.

Напомним, что число называется простым, если оно делится только само на себя и на единицу.

Входные данные

Входной файл INPUT.TXT содержит целое число n (2 ≤ n ≤ 50000).

Выходные данные

В выходной файл OUTPUT.TXT выведите одно число – ответ на задачу.

Примеры








INPUT1.TXT

OUTPUT1.TXT


1

2

1


2

239

39


3

3000

353





2.  Игра

(Время: 1 сек. Память: 16 Мб Сложность: 60 баллов)

Вы любите играть в игры? Конечно, любите! Но про эту игру, возможно, ничего не знаете и не слышали даже. Что ж, расскажем о новой игре. На доске написана последовательность n целых чисел. Играют двое. На очередном ходе игрок выбирает число с правого или с левого края последовательности, затем это число стирается и последовательность становится на одно число меньше, а ход переходит к противнику. Выигрывает тот, кто наберет в сумме больше. Написать программу, определяющую победителя в конкретной игре, при условии, что игроки будут играть оптимально.

Входные данные

В первой строке входного файла INPUT.TXT записано целое число n (0 < n < 100). Во второй строке через пробел заданы n натуральных чисел, не превосходящих 1000.

Выходные данные

В единственную строку выходного файла OUTPUT.TXT нужно вывести 1, если победит первый игрок, 2 – если победит второй игрок и 0 – в случае ничьей.

Пример









INPUT2.TXT

OUTPUT2.TXT


1

4

3 2 5 4

1


2

6

5 5 5 5 5 5

0


3

9

2 1 3 2 9 1 2 3 1

2


4

10

2 5 3 12 4 6 13 7 1 3

1









3.  Нули

(Время: 1 сек. Память: 16 Мб Сложность: 10 баллов)

Требуется найти самую длинную непрерывную цепочку нулей в последовательности нулей и единиц.

Входные данные

В единственной строке входного файла INPUT.TXT записана последовательность нулей и единиц (без пробелов). Суммарное количество цифр не превышает 100.

Выходные данные

В единственную строку выходного файла OUTPUT.TXT нужно вывести искомую длину цепочки нулей.

Пример






INPUT3.TXT

OUTPUT3.TXT


1

00101110000110

4


Тесты











INPUT3.TXT

OUTPUT3.TXT

Балл


1   

1111111

0

1


2   

00000011100000101

6

3


3   

1100000011110000000

7

3


4   

00111000111000

3

3




Решение

Решение представляет собой цикл, включающий посимвольное чтение из файла и накопление счетчика (k), если прочитанный символ равен "0”. Как только цепочка нулей обрывается, производится сравнение накопленного счетчика с текущим максммальным значением (max), и если счетчик превышает это значение, то оно заменяется на значение счетчика

{ Самая длинная цепочка нулей }

program maxZeros;

var

  f_In, f_out: text;

  i,k: byte;

  j:char;

  max: byte;

begin

  assign(f_In,'inMaxZeros.txt');

  assign(f_Out,'outMaxZeros.txt');

  reset(f_In);

  max:=0;

  while not eof(f_In) do {пока не конец файла}

     begin

       k:=0; {обнуляем счетчик цепочки}

       read(f_In, j); {читаем первый символ цепочки}

       while (j='0') and not eof(f_In) do

         begin

           inc(k);

           read(f_In,j)

         end;

       if k>max then max:=k

     end;

{   коррекция результата, если искомая цепочка в конце файла}

  if (j='0') and (k=max) then inc(max);

  writeln(max);

  rewrite(f_Out);

  writeln(f_Out,max);

  close(f_Out);

  readln

end.








5    Домашнее задание

(Время: 1 сек. Память: 16 Мб Сложность: 30 баллов)

Петя успевает по математике лучше всех в классе, поэтому учитель задал ему сложное домашнее задание, в котором нужно в заданном наборе целых чисел найти сумму всех положительных элементов, затем найти где в заданной последовательности находятся максимальный и минимальный элемент и вычислить произведение чисел, расположенных между ними. Так же известно, что минимальный и максимальный элемент встречаются в заданном множестве чисел только один раз. Поскольку задач такого рода учитель дал Пете около ста, то Петя как сильный программист смог написать программу, которая по заданному набору чисел самостоятельно находит решение. А Вам слабо?

Входные данные

В первой строке входного файла INPUT.TXT записано единственное число N – количество элементов массива. Вторая строка содержит N целых чисел, представляющих заданный массив. Все элементы массива разделены пробелом. Каждое из чисел во входном файле не превышает 102 по абсолютной величине.

Выходные данные

В единственную строку выходного файла OUTPUT.TXT нужно вывести два числа, разделенных пробелом: сумму положительных элементов и произведение чисел, расположенных между минимальным и максимальным элементами. Значения суммы и произведения не превышают по модулю 3*104.

Примеры








INPUT4.TXT

OUTPUT4.TXT


1

5

-7 5 -1 3 9

17 -15


2

8

3 14 -9 4 -5 1 -12 4

26 180


3

10

-5 1 2 3 4 5 6 7 8 -3

36 5040




Тесты











INPUT4.TXT

OUTPUT4.TXT

Балл


1   

10

12 -35 6 22 65 -10 3 5 12 34

159 -471900

10


2   

6

12 -6 22 65 -10 34

133 -650

5


3   

13

32 -12 2 11 -14 4 22 12 -6 82 65 -10 34

264 7273728

10


4   

5

1 2 3 4 5

0 120

5













Список задач для олимпиады по информатике 7-9 классов.



1.  Наихудший делитель

(Время: 1 сек. Память: 16 Мб Сложность: 30 баллов)

Будем говорить, что число a лучше числа b, если сумма цифр a больше суммы цифр числа b, а в случае равенства сумм их цифр, если число a меньше числа b. Например, число 124 лучше числа 123, так как у первого из них сумма цифр равна семи, а у второго — шести. Также, число 3 лучше числа 111, так как у них равны суммы цифр, но первое из них меньше.

Дано число n. Найдите такой его делитель d (само число n и единица считаются делителями числа n), что любой другой делитель c числа n лучше, чем d.

Входные данные

Первая строка входного файла INPUT.TXT содержит целое число n (1 ≤ n ≤ 105).

Выходные данные

В выходной файл OUTPUT.TXT выведите ответ на задачу.

Примеры







INPUT1.TXT

OUTPUT1.TXT


1

10

10


2

239

1









2.  2^N

(Время: 1 сек. Память: 16 Мб Сложность: 40 баллов)

Необходимо вычислить значение 2n.

Входные данные

В единственной строке входного файла INPUT.TXT записано натуральное число n (0 < n < 1000).

Выходные данные

В единственную строку выходного файла OUTPUT.TXT нужно вывести значение 2n.

Примеры








INPUT2.TXT

OUTPUT2.TXT


1

3

8


2

10

1024


3

72

4722366482869645213696


Тесты











INPUT2.TXT

OUTPUT2.TXT

Балл


5   

0

1

2


6   

10

1024

3


7   

72

4722366482869645213696

15


8   

128

340282366920938463463374607431768211456

20




Решение

Идея решения может состоять в том, что результат получается в цифровом массиве, длина которого достаточна для хранения всех цифр результата (примерно 302 для n=1000).

Алгоритм срстоит из двух циклов, вложенных друг в друга. Внешний цикл обеспечивает умножение на 2 n раз. Внутренний цикл реализует каждое такое умножение поразрядно с учетом переноса в следующий разряд, т.е обычное умножение столбиком.

{  Вычислить значение 2^N, где 0

Вход на сайт

Портфолио

Кабинет

Достижения

Поиск

Календарь
«  Декабрь 2024  »
ПнВтСрЧтПтСбВс
      1
2345678
9101112131415
16171819202122
23242526272829
3031

Друзья сайта

Бахмутова Е.Н.

Киреева Т.В.

Вахрамеева Л.Н.

Карабухина Н.П.

Тинькова Е.Н.

Горелова В.А.


Сайт существует

Статистика

Онлайн всего: 8
Гостей: 8
Пользователей: 0

Сайт посетили
Елена_Николаевна

Всего на сайте
Total users: 429

Copyright MyCorp © 2024
Конструктор сайтов - uCoz