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
14463
Ясно, что должно но $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
11183
Россия, Москва
Подтверждаю, $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
14463
Всё же приведу свой рукопашный способ :-)
С вариантами $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 ] 

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



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

Сейчас этот форум просматривают: RikkiTan1


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

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