2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


Посмотреть правила форума



Начать новую тему Ответить на тему
 
 Вычёркивание цифр и делимость
Сообщение27.02.2017, 01:31 
Аватара пользователя


01/12/11

8634
Можно ли, используя по одному разу каждую из цифр от 0 до 9, составить число, обладающее следующими свойствами:
если вычеркнуть двойку, то оно поделится на 2;
если вычеркнуть тройку, то оно поделится на 3;
если вычеркнуть четверку, то оно поделится на 4;
... ;
если вычеркнуть девятку, то оно поделится на 9?
(И. Акулич)

Мне показалось, что число 7154693280 обладает требуемым в условии задачи свойством, или это и вправду так?
В книге указывается число 1346897520, что тоже, вроде бы, неплохо.

Хотелось бы знать, а сколько всего таких чисел?

 Профиль  
                  
 
 Re: Вычёркивание цифр и делимость
Сообщение27.02.2017, 02:00 
Аватара пользователя


11/06/12
10390
стихия.вздох.мюсли
А если вычеркнуть ноль, оно поделится на ноль.
Набросал код, но жадный Wolfram Programming Lab не даёт мне достаточно машинного времени и оперативной памяти. Если кто-то захочет запустить (и, возможно, оптимизировать), привожу ниже.

(Код)

Код:
goodNumberQ[a_]:=First[Union[Divisible[FromDigits[DeleteCases[IntegerDigits[a],#]],#]&/@Range[2,9]]]
nums=FromDigits/@Permutations[Range[0,9]];
Length[Select[nums,goodNumberQ]]

 Профиль  
                  
 
 Re: Вычёркивание цифр и делимость
Сообщение27.02.2017, 02:07 
Заслуженный участник
Аватара пользователя


13/08/08
14495
Ясно, что должно но $0$ кончаться. Это убивает $2,3,5,9$. Перед нулём чётная цифра. Но главное — семёрка. В общем, много их там, кажется. Минимальное же легко написать: $1234795680$.

-- Пн фев 27, 2017 02:12:18 --

Aritaborian, я попробовал
Код:
select[range[1700000,14200000],union[integerDigits[ #*7]] ={1,2,3,4,5,6,8,9}&]
:-)
Но тоже пришлось кусками. А это лишь первый шаг. Надо ещё проверку на восьмёрку делать. Да ну её. Лучше врукопашную :-( .

 Профиль  
                  
 
 Re: Вычёркивание цифр и делимость
Сообщение27.02.2017, 02:17 
Аватара пользователя


11/06/12
10390
стихия.вздох.мюсли
gris в сообщении #1195705 писал(а):
Лучше врукопашную
Ну так написанная мной числодробилка должна работать; жаль, Математики на этом компе нет. Впрочем, если постараться оптимизировать количество кандидатов на проверку, может, получится скормить в облако. Плюс скармливать не всё сразу, а по частям.

UPD. Скормил я это всё облаку небольшими порциями чтоб сервера в Иллинойсе в клочья не порвало и был мне Глас свыше, что всего таких чисел — $10774$.

 Профиль  
                  
 
 Re: Вычёркивание цифр и делимость
Сообщение27.02.2017, 03:22 
Заслуженный участник


20/08/14
11867
Россия, Москва
Подтверждаю, $10774$ штук. Наименьшее $1234795680$, наибольшее $9876351240$. Сумма всех равна $60430096214460$. И $7154693280$ и $1346897520$ оба подходят. Час писания программы и полсекунды счёта.

 Профиль  
                  
 
 Re: Вычёркивание цифр и делимость
Сообщение27.02.2017, 03:28 
Аватара пользователя


11/06/12
10390
стихия.вздох.мюсли

(Чуть-чуть улучшенный код)

Код:
goodNumberQ[a_]:=AllTrue[Range[2,9],Divisible[FromDigits[DeleteCases[IntegerDigits[a],#]],#]&]


-- 27.02.2017, 03:29 --

Dmitriy40 в сообщении #1195708 писал(а):
Час писания программы и полсекунды счёта.
В моём случае наоборот: минута на написание программы и долгие попытки скормить её облаку ;-D

 Профиль  
                  
 
 Re: Вычёркивание цифр и делимость
Сообщение27.02.2017, 06:34 
Аватара пользователя


11/06/12
10390
стихия.вздох.мюсли

(Ещё немного оптимизации)

Код:
goodNumberQ[digits_List]:=AllTrue[Range[2,9],Divisible[FromDigits[DeleteCases[digits,#]],#]&]
nums=Permutations[Range[0,9]];
Length[Select[nums,goodNumberQ]]

 Профиль  
                  
 
 Re: Вычёркивание цифр и делимость
Сообщение27.02.2017, 13:06 
Заслуженный участник
Аватара пользователя


13/08/08
14495
Всё же приведу свой рукопашный способ :-)
С вариантами $20, 60$ на конце удовлетворяются все пункты, кроме $7$ и $8$. Вот мы их оба частично удовлетворим тремя цифрами $560$. С восьмёркой порядок, она делит тысячу. Осталось в качестве начала числа придумать из $1,2,3,4,9,8$ число, делящееся на $7$. Некоторые пары прямо лезут в глаза, но тройка мешает разбить попарно. Поэтому начинаем делить с самого начала. $12, 123, 1239$. Ура. А $84$ прекрасно дополняет. Семёрку можно засунуть на любое место, кроме трёх последних.
И вот: $7123984560$. Как пример подойдёт. Ну а количество без компъютера можно только за большие деньки посчитать.

 Профиль  
                  
 
 Re: Вычёркивание цифр и делимость
Сообщение27.02.2017, 17:02 
Аватара пользователя


01/12/11

8634
Aritaborian
gris
Dmitriy40
Большое спасибо!

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group