Т.е нужно перебрать все цифры от 1000 до 9999 и узнать, какие из них деляться на 7?
Поясните пожалуйста. |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Поясните пожалуйста. |
Harsent |
Сообщение
#1
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Реальное имя: Алексей Репутация: 0 |
Задачка такая:
Код Выяснить, делится ли на 7 двоичное число, состоящее не более чем из 1000 цифр. Т.е нужно перебрать все цифры от 1000 до 9999 и узнать, какие из них деляться на 7? |
Ozzя |
Сообщение
#2
|
Гуру Группа: Пользователи Сообщений: 1 220 Пол: Мужской Репутация: 16 |
Нет.
Двоичное число - это число вида 010101010101111. Количество цифр в этом числе не более 1000. Нужно узнать делится ли такое число на 7. Признак делимости на 7 знаете? Цитата Число делится на 7 тогда и только тогда, когда результат вычитания удвоенной последней цифры из этого числа без последней цифры делится на 7 (т. н. 364 делится на 7 т. к. 36-2×4 = 28 делится на 7) (без остатка). Н. Н. Воробьёв, Признаки делимости, «Популярные лекции по математике», Выпуск 38, М., «Наука» 1988 г., 94 стр. Причем это свойство для десятичных чисел. Вам разрешено переводить исходное двоичное число в десятичное? |
Harsent |
Сообщение
#3
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Реальное имя: Алексей Репутация: 0 |
Причем это свойство для десятичных чисел. Вам разрешено переводить исходное двоичное число в десятичное? В условии этого не сказано, но других путей, кроме как, перевода в десятичное, я, например, не представляю значит, разрешено всё то, что не запрещено Сообщение отредактировано: Harsent - |
Harsent |
Сообщение
#4
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Реальное имя: Алексей Репутация: 0 |
Help!
|
klem4 |
Сообщение
#5
|
Perl. Just code it! Группа: Пользователи Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: 44 |
-------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
мисс_граффити |
Сообщение
#6
|
просто человек Группа: Пользователи Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: 55 |
а нет ли какого-нибудь специфического признакак для восьмеричной сс?
мне кажется, что-то аналогично 9 в 10 сс. -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Malice |
Сообщение
#7
|
Профи Группа: Пользователи Сообщений: 705 Пол: Мужской Репутация: 20 |
Переводить 2-ное число в 10-е не надо. Учитывая, что в условии говорится про 100 цифр Нужно разбить на тройки и сложить. Если полученное число делится на 7, то все ок. Разрядность полученного числа будет значительно меньше исходного, поэтому вторую проверку делать можно и через Mod (ну или дальше разбивать и складывать)
пример: 7*33=231=11 100 111, складываем: 3+4+7=14. 14=1 110=1+6=7. 31969=111 110 011 100 001=7+6+3+4+1=21 |
мисс_граффити |
Сообщение
#8
|
просто человек Группа: Пользователи Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: 55 |
Malice, я про это, собственно, и пыталась сказать
разбиением на триады фактически переходим к восьмеричной. -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Lapp |
Сообщение
#9
|
Уникум Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
Malice, я про это, собственно, и пыталась сказать Конечно, но Malice привел конкретный признак! Я тут приведу его обоснование, а то не совсем понятно, откуда он берется.. Пусть ai - цифры (из набора от 0 до 7), представляющие восьмеричную запись числа, пронумерованные справа налево от i=0 до n. Тогда само число есть: an*8^n + ... + ai*8^i + ... + a0 Теперь представим 8 как 7+1 an*(7+1)^n + ... + ai*(7+1)^i + ... + a0 Если теперь раскрыть каждую скобку по формуле бинома Ньютона, то в ней все слагаемые будут иметь множитель 7, кроме одного, который равен 1. Отбросим все слагаемые с семерками (они делятся на 7). Теперь видно, что для делимости на 7 исходной суммы (то есть нашего числа) необходимо и достаточно , чтобы сумма цифр: an + ... + ai + ... + a0 - делилась на 7. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Текстовая версия | 11.01.2025 11:17 |