|
1 / 1 / 0
Регистрация: 13.02.2015
Сообщений: 30
|
|
Вывод определенной цифры в числовой последовательности22.09.2016, 08:12. Показов 8495. Ответов 36
Метки нет (Все метки)
Доброе утро форумчане, решал задачки для бегинеров на c++ и столкнулся с задачей, до которой никак не могу допереть.
Пользователь вводит натуральное k с клавиатуры, программа выводит k-ую цифру(именно цифру), из последовательности квадратов натуральных чисел вида 1491625.... Не могу допереть, прошу вашей помощи, если можно с комментариями.
0
|
|
| 22.09.2016, 08:12 | |
|
Ответы с готовыми решениями:
36
Вычислить среднее арифметическое значение элементов числовой последовательности, в записи значения которых содержится две различные цифры Вывод определенных чисел из числовой последовательности (!без массива!) |
|
Неэпический
|
|||||||
| 22.09.2016, 15:09 | |||||||
![]()
2
|
|||||||
|
Объявлятель переменных
1225 / 411 / 321
Регистрация: 24.09.2011
Сообщений: 1,279
|
||
| 22.09.2016, 15:43 | ||
|
Croessmah, откуда переменная num в 16-й строке?
1
|
||
| 22.09.2016, 15:48 | ||
|
1
|
||
|
Неэпический
|
||||||||||||
| 22.09.2016, 15:56 | ||||||||||||
Добавлено через 6 минут
3
|
||||||||||||
|
Объявлятель переменных
1225 / 411 / 321
Регистрация: 24.09.2011
Сообщений: 1,279
|
||
| 22.09.2016, 16:02 | ||
|
0
|
||
| 22.09.2016, 16:05 | |
|
Я не вчитывался в алгоритм Байта, я просто
1) не увидел ни одной строки (стринга) в его коде 2) привык доверять его котам ![]() Ежу же понятно, что отщипывать от искомого числа количества разрядов последовательных квадратов быстрее и экономнее по памяти, чем костылить через стринги.
1
|
|
|
Объявлятель переменных
1225 / 411 / 321
Регистрация: 24.09.2011
Сообщений: 1,279
|
|
| 22.09.2016, 16:10 | |
|
Croessmah, где-то баг.
getSymbol(280) должен вернуть 6, а возвращает 1. Пруф: http://oeis.org/A001191/b001191.txtP.s. Хотя, быть может, я не ту последовательность проверяю...
0
|
|
|
Диссидент
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
|
||
| 22.09.2016, 16:21 | ||
|
Нужно использовать то, что числа от sqrt(102n) до sqrt(102n+1) дают n+1 знаков и от sqrt(102n+1) до sqrt(102n+2) n+2 знака. И сразу просчитывать вот такие экспотенциальные куски.
0
|
||
|
Неэпический
|
|||||||||||||
| 22.09.2016, 16:25 | |||||||||||||
|
Решение в лоб:
Видимо, Вы не учли, что в моей программе индексы берутся с нуля, у ТС в задаче с 1, но этим заморачиваться я не желаю, но всё же в функции getSymbol я сделал поправочку
Уберите комменты и будет 6. И да, на самых последних индексах провести тест не могу, так что сделать ограничение индекса сверху тоже не получится.
0
|
|||||||||||||
|
Диссидент
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
|
||
| 22.09.2016, 16:31 | ||
|
0
|
||
|
Неэпический
|
||
| 22.09.2016, 16:32 | ||
![]() Но делать это каждый раз особого смысла нет. Там еще был третий массив, но он в конечной реализации уже был не нужен.
0
|
||
|
Объявлятель переменных
1225 / 411 / 321
Регистрация: 24.09.2011
Сообщений: 1,279
|
||
| 22.09.2016, 16:47 | ||
0
|
||
|
Неэпический
|
||||||
| 22.09.2016, 17:15 | ||||||
|
SpBerkut, я вообще сначала другое решение планировал.
Сделал быстренько, обновил страничку, а Вы уже такое решение выдали. ![]() Ну не выкладывать же тоже самое, правда у меня массив поболее был, и я его потом выкинул. Поэтому я решил сразу сделать таблички для кол-ва символов до каждого прибавления символов. Это массив numbersSumCount. Название взято от балды, как у настоящего говнокодера .Оставлю здесь небольшое объяснение работы. Последовательность 1491625364964811001211441691962252562893 24361400... Массив numbersSumCount: 0, 3, 15, ... numbersSumCount[x] = индекс с которого начинается последовательность (x+1)-значных чисел. numbersSumCount[0] = 0: до (0+1) однозначных чисел не было ни одного символа. numbersSumCount[1] = 3: до (1+1) двузначных чисел находится 3 символа (149). numbersSumCount[2] = 15: до (2+1) трехзначных чисел находится 15 символов (149162536496481). и т.д. Второй массив (seqStartNubmers) это числа с которых квадраты начинают прибавлять в символах. seqStartNubmers[0] = 1:переход квадрата с нуля символов в числе на 1 символ начинается с 1. (1*1=1) seqStartNubmers[1] = 4: (4*4=16) - два символа seqStartNubmers[2] = 10: (10*10=100) - три символа seqStartNubmers[3] = 32: (32*32=1024) - четыре символа и т.д. Можно было хешировать сами квадраты, но я что-то тупанул сначала, а потом лень было.
P.S. Да, объяснять это прям мое. Кто-нибудь что-нибудь понял из написанного?
0
|
||||||
| 22.09.2016, 17:19 | |
|
Croessmah, да все понятно
Просто раз уж такая пьянка, то надо вылезать из детских штанишек 64 размера и переходить в безразмерные взрослые штаны (Ну, или сразу брать языки с такими штанами из коробки )
1
|
|
| 22.09.2016, 17:19 | |
|
Вывод матрицы в Си в определенной последовательности Вывод столбцов в определенной последовательности Вывод информации из базы данных в определенной последовательности
Вывод k-ой цифры из последовательности натуральных чисел. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|