50 задач по началам программирования [Вячеслав Викторович Пупышев] (fb2) читать постранично, страница - 4
[Настройки текста] [Cбросить фильтры]
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В СЛЕДУЮЩЕЙ ЗАДАЧЕ ПРИМЕНЯЕТСЯ ПРИЁМ, КОТОРЫЙ НАЗЫВАЕТСЯ динамическим программированием ПРИЁМ ЗАКЛЮЧАЕТСЯ В ТОМ, ЧТО ЗАПОМИНАЮТ ТЕ ПРОМЕЖУТОЧНЫЕ РЕЗУЛЬТАТЫ, КОТОРЫЕ УЖЕ ВЫЧИСЛЕНЫ, А ПОТОМ ИСПОЛЬЗУЮТ ИХ.
50*. MARK1997. Квадрат чисел
Задана квадратная таблица чисел. Размер таблицы нечётный. Движение начинается из центра. Двигаться можно вправо, влево, вверх и вниз. По ходу движения суммируются числа, записанные в клетках пути следования. Движение заканчивается на стороне квадрата. Написать программу, которая сообщит минимальную сумму.ТЕХНИЧЕСКОЕ ЗАДАНИЕ. Заданный квадрат хранится в файле. Файл устроен следующим образом: <Размер квадрата> <Число> <Число> . . . <Число> <Число> <Число> . . . <Число> . . . <Число> <Число> . . . <Число>
Все числа натуральные, не больше 200. Разделителями являются пробелы. Количество чисел в строке и количество строк совпадает с размером квадрата. Размер таблицы не больше 100. Программа должна запросить имя файла с описанием квадрата и напечатать длину кратчайшего пути. ПРИМЕР. В файле: 5 20 13 23 12 18 6 14 3 17 11 21 2 1 4 25 7 15 5 16 10 22 8 19 9 24
Ответ: 23
Тесты
Метод использования тестов Тесты надо проверять с первого до поседнего, подряд. Программа на каждом тесте должна работать не более указанного времени. Если время тестирования ограничено 0 секунд, это значит, что программа должна работать мгновенно. Для каждого теста приведена его стоимость в процентах. После проверки можно сложитьпроценты всех пройденных тестов и получить процент решения задачи. По способам оценки можно выделить две основные группы тестов и по две разновидности в этих группах. Первая группа. К первой группе можно отнести тесты, в которых сложность оценивается после тестирования программы (чаще нескольких программ). Тест считается более сложным, если программа (лучше несколько) проходит его с большими трудностями. Разновидности отличаются оценкой сложных и простых тестов. Вторая группа. Тесты, ценность которых определяется до тестирования. Разновидности отличаются так же, как и в первой группе, но не по сложности, а по общности. В этом задачнике тесты, очевидно, относятся ко
Последние комментарии
1 час 28 минут назад
7 часов 51 минут назад
7 часов 58 минут назад
8 часов 27 минут назад
8 часов 31 минут назад
8 часов 31 минут назад