|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
23.11.2016, 21:44 | #1 |
Новичок
Джуниор
Регистрация: 23.11.2016
Сообщений: 3
|
[Pascal] Дано натуральное k от 1 до 500. Написать программу для определения цифры, которая находится в k-той позиции последовательности. 110100100010000100000...
Дано натуральное k от 1 до 500. Написать программу для определения цифры, которая находится в k-той позиции последовательности. 110100100010000100000...
Формат входных данных: Файл содержит число k - позиция искомой цифры. Формат выходных данных. Выходной файл содержит искомую цифру. |
23.11.2016, 21:59 | #2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
позволю себе опубликовать чужое решение, найденное поиском через гугл
Код:
|
23.11.2016, 22:05 | #3 |
Новичок
Джуниор
Регистрация: 23.11.2016
Сообщений: 3
|
|
23.11.2016, 22:07 | #4 |
2 the Nation Glory
Старожил
Регистрация: 27.05.2014
Сообщений: 3,289
|
Что за последовательность?
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы. |
23.11.2016, 22:11 | #5 |
Новичок
Джуниор
Регистрация: 23.11.2016
Сообщений: 3
|
|
23.11.2016, 22:30 | #6 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
степени числа 10 записанные в одну строчку без пробелов:
10^0 10^1 10^2 10^3 10^4 10^5 и т.д. до бесконечности. -> 1 10 100 1000 10000 100000 -> 110100100010000100000 Пожалуйста. Найти чужое решение не трудно А смысл в этом какой? Пожалуй, не стоит закрывать. Без крайней необходимости темы на данном форуме не закрываются. |
23.11.2016, 22:50 | #7 |
2 the Nation Glory
Старожил
Регистрация: 27.05.2014
Сообщений: 3,289
|
Для "особо одаренных" можете расписать смысл алгоритма?
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы. |
23.11.2016, 23:00 | #8 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
переменная i - (счётчик по сути) - это длина очередной степени десятки (сначала длина 1, потом длина 2, потом длина 3 и т.д.
а j - накапливает длину строки последовательности - она вычисляется - к предыдущей длине строки добавляем очередную длину степени десятки. крутим цикл, пока длина строки с последовательностью j не станет больше и равной заданному числу k дальше вычисляем, куда наша цифра k попала - на начало очередной степени (j - i)=k - и тогда это циферка "1" в противном случае это "0" вот и всё. |
23.11.2016, 23:00 | #9 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Можно и без цикла магической формулой
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 23.11.2016 в 23:05. |
23.11.2016, 23:13 | #10 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите, пожалуйста! Дано натуральное число N. Требуется написать программу для определения наименьшего (!) из больших чисел, составленных из тех же цифр. | Kat2605krug | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 18.10.2016 10:24 |
Написать программу, которая вводит две символьных последовательности | Mixasnt | Помощь студентам | 1 | 27.10.2012 13:06 |
Дано натуральное число п. Написать программу для определения первой цифры числа п. | AlenaVasilenko | Паскаль, Turbo Pascal, PascalABC.NET | 5 | 17.06.2011 18:23 |
Дано 2 слова. Написать программу, которая будет определять присутствует ли слово 1 в слове 2. | Паскалька^^ | Помощь студентам | 5 | 19.10.2010 00:55 |
цифра, которая находится в k-той позиции последовательности | C-Jay | Помощь студентам | 4 | 09.11.2008 10:48 |