|
0 / 0 / 0
Регистрация: 08.07.2015
Сообщений: 9
|
||||||
Проверка делимости 1,11,111,.,11.1 на их позиции09.07.2015, 22:17. Показов 4262. Ответов 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
|
|
|
Модератор
3138 / 2286 / 469
Регистрация: 26.03.2015
Сообщений: 8,898
|
|||||||
| 10.07.2015, 00:21 | |||||||
|
Вы разбейте задачу на простые. И постепенно решайте эти простые задачи.
1
|
|||||||
|
0 / 0 / 0
Регистрация: 08.07.2015
Сообщений: 9
|
||
| 10.07.2015, 00:29 [ТС] | ||
|
Добавлено через 7 минут Спасибо ВАМ за советы.
0
|
||
|
Модератор
3138 / 2286 / 469
Регистрация: 26.03.2015
Сообщений: 8,898
|
||||||||||||||||
| 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,875
|
||||||
| 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
|
||||||
|
Модератор
3138 / 2286 / 469
Регистрация: 26.03.2015
Сообщений: 8,898
|
|||||||||||
| 10.07.2015, 01:37 | |||||||||||
|
Нашёл ошибку:
Добавлено через 18 минут Вот полный, отлаженный код. По сравнению с написанным "вслепую" всего одно изменение - приведение к ulong в функции умножения. Если закомментировать строку 4 в Main(), то будет выводить остатки. Можно вместо GetSeq() и IEnumerable обычный цикл использовать: вместо yield return сохранять в массив.
0
|
|||||||||||
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,875
|
|||||||
| 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,875
|
|
| 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,875
|
|||
| 10.07.2015, 10:07 | |||
![]() идея то витает в воздухе поищи по форуму темы, типа "Нужна ли программисту математика" и сам увидишь
0
|
|||
| 10.07.2015, 10:07 | |
|
Проверка мобильного номера на соответствие формату +7(111)111-11-11
Проверка делимости на 16 Проверка делимости на 11 Проверка делимости числа на 11 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал.
Оно само - говорит.
Кто слышит тот слышит.
|
Оказывается, Unreal Engine позволяет качество на порядки выше, чем было в Lineedge
Etyuhibosecyu 05.07.2026
Жаль, конечно, что я не узнал об этом, пока Lineedge существовала, а то бы Noname2331 написал, что волки превращаются в пиксельную кашу, а я бы его попросил скачать какую-нибудь бриллиантовую или Pro. . .
|
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было
ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась.
Первый вариант. . .
|
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2.
Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
|
|
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи.
Через несколько переработок от PHP кода к C89 (надеюсь, 89).
Но довольно запутанно получилось. Код для Linux.
Но если убрать time и то, что с ним. . .
|