Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Определение цифры по номеру в последовательности двузначных чисел

Автор: AngeLL 2.11.2007 22:28

Вот такая задача: "Даны целое число л (1<=k<=180) и последовательность цифр 10111213...9898, в которой вписаны подряд все двухзначные числа. Определить k-ю цифру"
Помогите мне разобраться и решить эту задачу smile.gif

Автор: Ozzя 2.11.2007 23:01

http://forum.pascal.net.ru/index.php?showtopic=1557&hl=Определить++цифру#

Автор: AngeLL 2.11.2007 23:22

Цитата(AngeLL @ 2.11.2007 18:28) *

Вот такая задача: "Даны целое число л (1<=k<=180) и последовательность цифр 10111213...9898, в которой вписаны подряд все двухзначные числа. Определить k-ю цифру"
Помогите мне разобраться и решить эту задачу smile.gif


Автор: volvo 3.11.2007 1:23

AngeLL, все очень просто: все цифры в заданной тобой последовательности - двузначные. Что это значит? То, что ((k - 1) div 2) даст тебе порядковый номер числа в последовательности (начиная с нуля), из которого надо вытянуть первую цифру, если k - нечетное, и вторую - если k - четное...

То есть, делаем:

begin
readln(k);
number := ((k - 1) div 2) + 10; { <-- поскольку последовательность начинается с 10 }
if odd(k)
then writeln(number div 10) { <-- нечетный номер цифры - первая цифра в числе }
else writeln(number mod 10); { <-- четный номер - вторая цифра }
end.

Автор: Lapp 5.11.2007 12:47

Цитата
Помогите мне разобраться и решить эту задачу

AngeLL,
во-первых, скажи: эта задача с текущей олимпиады или нет? Решать для тебя задачи с текущих олимпиад тут никто не будет.
Во-вторых, если ты хочешь обсуждение, то тебе следовало запостить в Задачи обычной темой. В этой теме - только условия интересных задач. Эту задачу, честно говоря, трудно назвать интересной.. поэтому:

М
Сообщение выделяется в отдельную тему



Прежде чем начать обсуждать решение, я бы хотел услышать ответ на первый вопрос.

Автор: volvo 5.11.2007 16:36

Вообще-то, это дубликат: http://forum.pascal.net.ru/index.php?showtopic=19933

Автор: Lapp 5.11.2007 16:55

Цитата(volvo @ 5.11.2007 12:36) *

Вообще-то, это дубликат: http://forum.pascal.net.ru/index.php?showtopic=19933

Отлично, спасибо, volvo.

М
Тогда я просто объединяю эти две темы.



Ozzя, к тебе просьба: ты не мог бы дать ссылку непосредствено на сообщение, а не на тему?..