| Тель-Авивский университет, 2002 год |
|
|
|
Tuesday, 21 June 2005 | Д-р Евгений Канель для раздела Ученье – свет В Израиле олимпиады по программированию среди школьников пока не имеют такого размаха, как в России; однако мы очень надеемся, что ситуация с каждым годом будет изменяться в сторону активизации. В конце 2002 года, главный инспектор по преподаванию компьютерных наук в Израиле, Ави Коэн, провел первый тур своей олимпиады. Задачи первого тура были выложены на его сайте (все - на иврите), и ученикам предлагалось их решить за два часа. Мы предлагаем вам перевод задач этого тура. Задача №1 Напиши программу, которая принимает в качестве ввода целое положительное значение К, а затем - серию целых положительных значений. Программа должна определить, была во введенной после К серии хотя бы одна пара чисел, сумма которых меньше К. В серии должно быть не менее 10 чисел, а общее число их в серии может быть очень большим. Задача №2 Напиши программу, которая принимает в качестве ввода целое положительное число К (К<1000000) и определяет, существуют ли три числа, отвечающие следующим требованиям: все числа - разные; все числа - целые; их среднее арифметическое равно К; каждое из числе - степень двойки (2n) Например, для К=5 таких чисел нет, а для К=7 есть: 1, 4 и 16. Задача №3 Дана серия К положительных целых чисел. Требуется превратить все числа в этой серии в нули с помощью многократного использования "новой" функции Add ( i, j, d ), в которой три параметра: i и j - позиции двух чисел в серии ( i не равно j) d - значение, которое прибавляется к каждому из чисел (стоящих в серии на позициях i и j). Параметры эти могут принимать разные значения при повторных применениях функции Add. Например, для серии из 8 чисел (12, 2, 3, 9, 11, 2, 14, 3) функция Add (3,7,10) превращает 3 в 13, а 14 - в 24. Напиши программу, которая принимает в качестве ввода число К, затем - серию из К чисел. Программа должна определить, можно ли превратить введенную серию в серию нулей за счет многократного использования функции Add.
|