|
0 / 0 / 0
Регистрация: 08.07.2015
Сообщений: 9
|
||||||
Проверка делимости 1,11,111,.,11.1 на их позиции09.07.2015, 22:17. Показов 4493. Ответов 30
Метки нет (Все метки)
Дана последовательность из чисел (последовательность из единиц): 1, 11, 111, ..., 11..1. (до N)
Требуется определить делимость числа на его порядковый номер и записать в массив 0 или 1. Я написал решение, но с проблемами. Вот мой код:
У меня выводит, что 1%1=0, 11%2=1, 111%3=1 - ошибка. т.е. после первого цикла в is_div сохраняются только единицы. Помогите решить задачу. Вот что у меня получается:
0
|
||||||
| 09.07.2015, 22:17 | |
|
Ответы с готовыми решениями:
30
Проверка делимости числа на 11
|
|
288 / 175 / 86
Регистрация: 19.04.2014
Сообщений: 1,095
|
|
| 10.07.2015, 00:12 | |
|
0
|
|
|
Модератор
3141 / 2289 / 469
Регистрация: 26.03.2015
Сообщений: 8,920
|
|||||||
| 10.07.2015, 00:21 | |||||||
|
Вы разбейте задачу на простые. И постепенно решайте эти простые задачи.
1
|
|||||||
|
0 / 0 / 0
Регистрация: 08.07.2015
Сообщений: 9
|
||
| 10.07.2015, 00:29 [ТС] | ||
|
Добавлено через 7 минут Спасибо ВАМ за советы.
0
|
||
|
Модератор
3141 / 2289 / 469
Регистрация: 26.03.2015
Сообщений: 8,920
|
||||||||||||||||
| 10.07.2015, 00:57 | ||||||||||||||||
|
Вот сложение:
ulong n - двузначное число (в си это long long unsigned) mask - 32 единицы - битовая маска младшей цифры в этом числе a - это массив цифр, начиная с младшего разряда carry - перенос 126 + 8 carry = 8 6 + 8 = 14, a[0] = 4, carry = 1 2 + 1 = 3, a[1] = 3, carry = 0, выход из цикла Добавлено через 3 минуты Умножение почти так же:
Вот деление, но у меня где-то ошибка, потому-что ответ не сходится:
0
|
||||||||||||||||
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
|
||||||
| 10.07.2015, 01:10 | ||||||
|
на проверяй
до 20 работает точно дальше unsigned long long начинает врать
и на экран выводятся остатки, но легким движением руки, можно поменять на 0 и 1 смысл в делении столбиком но само число я нигде не храню, а генерю на лету например вводим 4 количество количество цифр в делителе 1(подсчитывает первый цикл) значит для деления нужно двузначное число 11( генерит 2 цикл) делим 11 на 4 остаток 3 осталось два разряда число (4хзначное) умножаем остаток на 10 и прибавляем 1 31 опять делим на 4 остаток 3 остался один разряд умножаем остаток на 10 и прибавляем 1 31 опять делим на 4 остаток 3 всем этим занимается третий цикл
0
|
||||||
|
Модератор
3141 / 2289 / 469
Регистрация: 26.03.2015
Сообщений: 8,920
|
|||||||||||
| 10.07.2015, 01:37 | |||||||||||
|
Нашёл ошибку:
Добавлено через 18 минут Вот полный, отлаженный код. По сравнению с написанным "вслепую" всего одно изменение - приведение к ulong в функции умножения. Если закомментировать строку 4 в Main(), то будет выводить остатки. Можно вместо GetSeq() и IEnumerable обычный цикл использовать: вместо yield return сохранять в массив.
0
|
|||||||||||
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
|
|||||||
| 10.07.2015, 09:21 | |||||||
Сообщение было отмечено ValeryS как решение
Решение
2
|
|||||||
|
26 / 15 / 17
Регистрация: 09.07.2015
Сообщений: 47
|
|||||||
| 10.07.2015, 09:30 | |||||||
Сообщение было отмечено ValeryS как решение
РешениеОбозначим наши числа как Тогда: Например: 1%3 = 1; 11%3 = ( 10*( 1%3 ) + 1 )%3 = 11%3 = 2 111%3 = ( 10*( 11%3 ) + 1 )%3 = 0 Так мы избавились от длинной арифметики! (На самом деле это деление столбиком под другим углом.)
0
|
|||||||
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
|
|
| 10.07.2015, 09:51 | |
|
D_Gon, несколько формальных придирок
![]() n0не может быть, ибо нет числа с нулем цифр так что n1 =1 далее по тексту второе у тебя в формуле рекурсия, а реализовал через цикл а так молодец, смог вывести формулу, я к ней подбирался,но выразить не смог
1
|
|
|
26 / 15 / 17
Регистрация: 09.07.2015
Сообщений: 47
|
||
| 10.07.2015, 09:59 | ||
|
Раньше видел кучу таких задач, где все решали длинной арифметикой. Вот блин осенило, но похоже не только меня, я неудачнег.
0
|
||
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
|
|||
| 10.07.2015, 10:07 | |||
![]() идея то витает в воздухе поищи по форуму темы, типа "Нужна ли программисту математика" и сам увидишь
0
|
|||
| 10.07.2015, 10:07 | |
|
Проверка мобильного номера на соответствие формату +7(111)111-11-11
Проверка делимости на 16 Проверка делимости на 11 Проверка делимости числа на 11 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
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: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|