Вопрос № 146874: здавствуйте! вот сижу уже 3й день над задачей немагу решить может кто нибуть мне помодет заране спасибо вот сама задача: дано целое k от 1 до 180. Определить, какая цифра находится в k-й позиции последовательности 10111213...9899, в которой ...
Вопрос № 146.874
здавствуйте! вот сижу уже 3й день над задачей немагу решить может кто нибуть мне помодет заране спасибо вот сама задача: дано целое k от 1 до 180. Определить, какая цифра находится в k-й позиции последовательности 10111213...9899, в которой выписаны подряд все двухзначные числа;
Отправлен: 12.10.2008, 07:03
Вопрос задал: Констянитн (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Пупорев Юрий Борисович
Здравствуйте, Констянитн! Обратите внимание, что на нечетных позициях стоят десятки, цифра которых меняется через 20 позиций. Поэтому если мы возьмем целую часть от деления номера позиции на 20 и прибавим 1, получим нужную цифру. От (10 до 19) div 20=0 +1=1, от 20 до 29 div 20=1 +1=2, от 160 до 179 div 20=8 +1=9. На четных позициях стоят единицы. На местах, кратных 20 находятся цифры 9, иначе цифра определяется как остаток от деления на 20, деленный на 2 -1, например при к=6 цифра= 6 mod 20=6 div 2 =3-1=2
(это единицы от числа 12). Код в приложении.
Приложение:
Ответ отправил: Пупорев Юрий Борисович (статус: Специалист)
Ответ отправлен: 12.10.2008, 08:06
Отвечает: Шичко Игорь
Здравствуйте, Констянитн! Алгоритм решения примерно такой (код в приложении). Работа со строками описана здесь: http://valera.asf.ru/delphi/book/tp11.shtml
Приложение:
Ответ отправил: Шичко Игорь (статус: 9-ый класс)
Ответ отправлен: 12.10.2008, 14:43