IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Поясните пожалуйста.
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 3
Пол: Мужской
Реальное имя: Алексей

Репутация: -  0  +


Задачка такая:
Код
Выяснить, делится ли на 7 двоичное число, состоящее не более чем из 1000 цифр.


Т.е нужно перебрать все цифры от 1000 до 9999 и узнать, какие из них деляться на 7?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 8)
сообщение
Сообщение #2


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

Репутация: -  16  +


Нет.
Двоичное число - это число вида 010101010101111.
Количество цифр в этом числе не более 1000.
Нужно узнать делится ли такое число на 7.

Признак делимости на 7 знаете?

Цитата
Число делится на 7 тогда и только тогда, когда результат вычитания удвоенной последней цифры из этого числа без последней цифры делится на 7 (т. н. 364 делится на 7 т. к. 36-2×4 = 28 делится на 7) (без остатка).

Н. Н. Воробьёв, Признаки делимости, «Популярные лекции по математике», Выпуск 38, М., «Наука» 1988 г., 94 стр.


Причем это свойство для десятичных чисел. Вам разрешено переводить исходное двоичное число в десятичное?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





Группа: Пользователи
Сообщений: 3
Пол: Мужской
Реальное имя: Алексей

Репутация: -  0  +


Цитата(Ozzя @ 14.03.2006 10:33) *

Причем это свойство для десятичных чисел. Вам разрешено переводить исходное двоичное число в десятичное?

В условии этого не сказано, но других путей, кроме как, перевода в десятичное, я, например, не представляю smile.gif значит, разрешено всё то, что не запрещено smile.gif

Сообщение отредактировано: Harsent -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4





Группа: Пользователи
Сообщений: 3
Пол: Мужской
Реальное имя: Алексей

Репутация: -  0  +


Help! blink.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Перевод и десятичной с.с. в любую и наоборот


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


а нет ли какого-нибудь специфического признакак для восьмеричной сс?
мне кажется, что-то аналогично 9 в 10 сс.


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Профи
****

Группа: Пользователи
Сообщений: 705
Пол: Мужской

Репутация: -  20  +


Переводить 2-ное число в 10-е не надо. Учитывая, что в условии говорится про 100 цифр smile.gif Нужно разбить на тройки и сложить. Если полученное число делится на 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
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


Malice, я про это, собственно, и пыталась сказать smile.gif
разбиением на триады фактически переходим к восьмеричной.


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(мисс_граффити @ 15.03.2006 11:16) *

Malice, я про это, собственно, и пыталась сказать smile.gif

Конечно, но Malice привел конкретный признак! smile.gif
Я тут приведу его обоснование, а то не совсем понятно, откуда он берется..
Пусть 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.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.03.2024 14:31
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name