|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Таблица 3. Вариант решения задачи на языке Паскаль. Вопросы и заданияТаблица 3
Можно заметить, что количество полученных в результате преобразования исходных данных «троек» и «восьмерок» можно получить, применив к исходной длине строки формулы целочисленного деления: n3 = n div 3 n8 = n mod 3 Пусть n >= 9 Таблица 4
Каждые девять цифр 8 заменяются на одну, т.е. обрабатываемая строка уменьшается на восемь символов. Таким образом, какое бы исходное значение n мы не взяли, после выполнения числа шагов k кратных четырем, получим количество цифр 8, определяемое по формуле n8 = n mod 8
Вариант решения задачи на языке Паскаль program Editor3; var i, n, n3, n8: integer; begin write('n= '); readln(n); if (n>=3) then begin n:=n mod 8; n3:=n div 3; n8:=n mod 3; for i:=1 to n3 do write('3'); for i:=1 to n8 do write('8'); end else for i:=1 to n do write('8'); end. Потребовалось всего 4 переменные целого типа! При этом длина исходной строки ограничена значением максимального целого числа в компьютере.
Вопросы и задания 12. Ниже приведен программа для исполнителя Редактор. НАЧАЛО ПОКА нашлось (19) ИЛИ нашлось(299) ИЛИ нашлось(3999) заменить(19, 2) заменить(299, 3) заменить(3999, 1) КОНЕЦ ПОКА КОНЕЦ Составьте программу на языке Паскаль, которая определит результат применения программы для исполнителя Редактор к строке некоторой длины n, состоящей из цифры 1, 2 или 3, за которой следуют (n – 1) идущих подряд цифр 9? Например, если на вход этой программе подаётся строка длины 101, состоящая из цифры 2, за которой следуют 100 идущих подряд цифр 9, то программа должна вывести 399. Если на вход этой программе подаётся строка длины 94, состоящая из цифры 3, за которой следуют 93 идущих подряд цифр 9, то программа должна вывести 1.
13. Ниже приведена программа для исполнителя Редактор: НАЧАЛО ПОКА нашлось(555) ИЛИ нашлось(888) ЕСЛИ нашлось(555) ТО заменить(555, 8) КОНЕЦ ЕСЛИ ПОКА нашлось(888) заменить(888, 5) КОНЕЦ ПОКА ЕСЛИ нашлось(555) ТО заменить(555, 8) КОНЕЦ ЕСЛИ КОНЕЦ ПОКА КОНЕЦ Составьте программу на языке Паскаль, которая определит результат применения программы для исполнителя редактор к строке некоторой длины n, причем известно, что первые п1 цифр — восьмерки, а остальные — пятерки.
14. На странице http://kpolyakov.spb.ru/school/ege.htm приведена Программа для решения задач с РедакторомEditor14.zip. Сохраните программу на компьютере, распаковав архив. Познакомьтесь с её работой.
15. Выполните тест, перейдя по ссылке http://kpolyakov.spb.ru/school/egetest/b14-e.htm
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|