Выбрать главу

f ( x, y ) = f ( x, x) + f ( y, y ), при x ¹ y .

ПРИМЕР.

f ( - 2, 3 ) = 1

38* . MFOI1997. Системы счисления

Запись ( X )Y обозначает, что X есть запись числа в системе счисления по основанию Y . Написать программу, которая решает уравнения вида: (A)X = B, где A и B ( целые положительные числа не большие 2000000000 ) заданы, а X - переменная. A и B - заданы десятичными цифрами.

ПРИМЕР.

A = 160 B = 112

X = 8

ДАЛЬШЕ НЕОБХОДИМО УМЕТЬ РАБОТАТЬ С БОЛЬШИМИ[4] ОБЪЕМАМИ ДАННЫХ, КОТОРЫЕ НЕ ПРОПАДАЮТ ПРИ ВЫКЛЮЧЕНИИ КОМПЬЮТЕРА. ОБЫЧНО ТАКИЕ ДАННЫЕ ХРАНЯТ В файле.

_____________________

39. ы в файле

Есть ли в заданном файле буква ы ?

ТЕХНИЧЕСКОЕ ЗАДАНИЕ.

Программа должна спросить имя файла и напечатать:

ДА - если в этом файле есть буква ы , и НЕТ - в про тивном случае.

ПРИМЕР.

Для текста задачи ответ: ДА .

40. Самое часто встречающееся число

Написать программу, которая запрашивает имя файла и пе чатает число, которое встречается в заданном файле чаще дру гих. Файл может содержать не только числа.

Длина чисел не имеет значения.

ПРИМЕР:

в последовательности 2 3 4 5 67 6 5 64 это число 6.

41. Максимальная последовательность символов

Написать программу, которая запрашивает имя файла и пе чатает длину самой большой последовательности из одного и

того же символа.

ПРИМЕР:

в тексте задачи самая длинная последовательность мм и длина ее 2.

42. Переворот 10 символов

В файле записано 10 символов. Записать их в другой файл в обратном порядке.

ПРИМЕР.

В файле: ротялипмоК

В файле с результатом: Компилятор

43. Переворот файла

Задан текстовый файл из строк символов.

Написать программу, которая записывает исходный

файл в новый так, чтобы строки расположились в

обратном порядке.

ПРИМЕР.

для текста задачи получается:

обратном порядке.

файл в новый так, чтобы строки расположились в

Написать программу, которая записывает исходный

Задан текстовый файл из строк символов.

CЛЕДУЮЩИЕ НЕСКОЛЬКО ЗАДАЧ МОЖНО РЕШИТЬ, ЕСЛИ ПЕРЕБИРАТЬ ВОЗМОЖНЫЕ ВАРИАНТЫ РЕШЕНИЯ И ПРОВЕРЯТЬ, ДЕЙСТВИТЕЛЬНО ЛИ ОНИ ПОДХОДЯТ. ТАКОЙ СПОСОБ НАЗЫВАЮТ перебором вариантов.
44. Уравнение x  +  2•x +  3 • x + ... +  x • x = n

Решить уравнение: x +  2 • x  + 3 • x  + ...+  xx = n . Вводится n, найти x. Какими могут быть n и x, догадайтесь сами.

ПРИМЕР.

n= 18

x=3

45. Уравнение x!. N = y!

Решить уравнение: x!. N = y!. N - целое число. K! [5] - определяется только для натуральных K. K! = 1 .  2 .  3 .  ... . K,

0! = 1.

__________________________________

ТЕХНИЧЕСКОЕ ЗАДАНИЕ.

Получить для заданного N все различные пары (x,y).

ПРИМЕР.

N= 12

Ответ : (2,4)(11,12)

46. DOI1996. Числовое кольцо

В кольце записаны N цифр, составляющих по часовой стрелке три числа: два слагаемых и сумму.

ТЕХНИЧЕСКОЕ ЗАДАНИЕ.

Написать программу, которая запрашивает строку цифр и, считая её кольцом, печатает какое-нибудь решение в виде A+B=C. Все цифры должны входить в числа в порядке следования в кольце. Цифр в кольце не более 100.

ПРИМЕР.

Ввод: 01902021

Вывод:190+20=210

СЛЕДУЮЩИЕ ЗАДАЧИ ТРЕБУЮТ УМЕНИЯ ЗАПИСЫВАТЬ ПОДПРОГРАММЫ, КОТОРЫЕ ИСПОЛЬЗУЮТ САМИ СЕБЯ. ТАКОЙ ПРИЁМ НАЗЫВАЕТСЯ рекурсией.

47. Максимальное R(x,y)

Вычислить максимальное значение R(x,y) для заданных целых x,y ( y<50 ).

Внимание, «функция» R -неоднозначная (может давать разные значения на одинаковых аргументах).

ПРИМЕР.

X=3

Y=4

Максимальное значение R(3, 4)=16

48. DOI1995. Сравнение с образцом.

Образец имеет вид:

образец ::= <PT>

<PT> ::= <A><PT> | <A>

<A> ::= '['<PT>']' | <ST>

<ST> ::= <символы>

Часть образца, заключенная в квадратные скобки показывает, что эту часть можно исключать. Таким образом, образец описывает множество строк. Образец всегда правильный. Например:

образец: [a[b]]c

описывает строки: a, ab, abc

Слово подходит под образец, если оно совпадает с одним из слов, описываемых образцом. Задача написать программу, которая по заданному образцу и слову печатает «НЕТ », если слово подходит под образец, и «ДА », если не подходит.

ПРИМЕР:

образец: [a[b]]c

слово: ab

ответ: ДА

49*. MARK1997. Уравнение f(X) = A

Решить уравнение вида f(X) = A, где A -строка из маленьких латинских букв, X -переменная строка, f -функция на строках, построенная с помощью операций * и + над строками. Операция + обозначает конкатенацию[6] строк. Например, adbc + 123 = abcd123. Результатом операции A * B будет стро ка, где после каждого символа A записана B; если A или B - пустые строки, то результат будет также пустой строкой. На пример, ab * cd = acdbcd. Операции выполняются в порядке их следования.

ТЕХНИЧЕСКОЕ ЗАДАНИЕ.

Программа должна запросить уравнение и напечатать одно из решений.

ПРИМЕР.

Уравнение: X * ab + c * X = aabcabcac

X = ac

В СЛЕДУЮЩЕЙ ЗАДАЧЕ ПРИМЕНЯЕТСЯ ПРИЁМ, КОТОРЫЙ НАЗЫВАЕТСЯ динамическим программированием ПРИЁМ ЗАКЛЮЧАЕТСЯ В ТОМ, ЧТО ЗАПОМИНАЮТ ТЕ ПРОМЕЖУТОЧНЫЕ РЕЗУЛЬТАТЫ, КОТОРЫЕ УЖЕ ВЫЧИСЛЕНЫ, А ПОТОМ ИСПОЛЬЗУЮТ ИХ.
вернуться

4

Большие -- могут не поместиться в оперативной памяти.

вернуться

5

читается <ка факториал>

вернуться

6

Т.е. сцепление строк, приписывание одной строки к другой.