Top.Mail.Ru

Решабельная задачка с приколом.

Previous Entry Поделиться Пожаловаться Next Entry
29 мая, 2020
e_kaspersky
Доброго дня, вечера или любого другого времени суток, дорогие мои интернет-"слушатели". Сегодняшняя задачка звучит просто, но она с приколом. Вот – пробуйте свою арифметику и логику. Задачка решабельна! (я сам удивился когда решил).

Требуется из 8 различных цифр придумать число, которое нацело делится на любую из этих цифр.

В десятичной системе, само собой. Каждая цифра используется только один раз (вроде бы из условия это очевидно, но на всякий случай уточняю). Решений существует несколько, достаточно найти хотя бы одно из них.

Как мы уже привыкли – комментарии с ответами скрываются до 20:00 по московскому времени. Чтобы всем было интересно без подсказок помучиться потренировать свои извилины.

s1200

А теперь рассмотрим решение предыдущей задачки и наградим её героев. Напоминаю условие:

Однажды администрация ЖЖ совершенно обалдела от карантинов и самоизоляций, да от нечего делать начала умножать разные цифры. Например, они придумали какое-то большое число (целое, натуральное, хорошее число), перемножили все цифры этого числа и где-то в интернете записали результат перемножения. Потом всё стёрли, только две последние цифры от перемноженного остались: "11".

Но один смышлёный блогер, посмотрев на эти цифры "11", заявил, что администрации либо совсем на самоизоляции поплохело, либо они уроки по арифметике в начальной школе пропускали.

Почему он так сказал?


Ответ: не существует числа, при перемножении всех цифр которого результат заканчивается на "11".

Решение: Попробуем восстановить это число. Какие цифры могут, а какие не могут быть в нём? Например, 0 точно быть не может, поскольку тогда результатом будет тот же 0. Чётного числа и 5-ки тоже в нём быть не может, иначе последняя цифра будет чётная или 5.

Если есть девятка – то её можно заменить на две тройки. Если есть 1, то можно просто вычеркнуть. Единица ни на что не влияет. Итого остаются вот такие цифры, из которых может состоять это число: 3 и 7. Всё. Других цифр в нём быть не может (или они не нужны, как 1).

Ну а дальше – комбинируем разные варианты троек и семёрок. Примерно как здесь.

Правильные ответы на эту задачку прислали сразу многие, посему хочу отметить первую тройку:

Самое короткое и красивое решение: Vladislav Nikolaev. А также serge_gris и Ella Gatotigrado. Спасибо и все молодцы!



Метки:
Previous Entry Поделиться Пожаловаться Next Entry
Страница 1 из 3
<<[1] [2] [3] >>
Здравствуйте!
Система категоризации Живого Журнала посчитала, что вашу запись можно отнести к категориям: Общество, Юмор.
Если вы считаете, что система ошиблась — напишите об этом в ответе на этот комментарий. Ваша обратная связь поможет сделать систему точнее.
Фрэнк,
команда ЖЖ.

Срочно выпустите Евгения Касперского с карантина! А то он замучает всех математикой)

на самом деле то, что изображено на картинке это реальная суть математики!!! без шуток, серьезно!

в данном случае операция "+" у чела определена по иному, это нормально
в терминах программирования это перегрузка оператора
https://ru.wikipedia.org/wiki/Перегрузка_операторов

Здравствуйте! Ваша запись попала в топ-25 популярных записей Московского региона в LiveJournal. Подробнее о рейтинге читайте в Справке.

Что-то тут не то:

1. Всего цифр у нас 10: 0 1 2 3 4 5 6 7 8 9
2. Нечётных цифр существует только 5, поэтому из 8 цифр минимум 3 придётся взять чётными. Чтобы число делилось на чётный делитель, оно тоже должно быть чётным.
3. Цифра 0 отпадает, потому что на 0 делить нельзя
4. Цифра 5 тоже отпадает, потому что, чтобы число делилось на 5, его последняя цифра должна быть 0 или 5. Ноль мы уже исключили, а 5 она быть не может, потому что число должно быть чётным.
5. Итого, доступных цифр осталось ровно 8: 1 2 3 4 6 7 8 9
6. Сумма этих цифр равна 40, и она не делится ни на 3, ни на 9. А это, между прочим, признок делимости всего числа на 3 и 9. То есть, составить из этих цифр удовлетворяющее условию число нельзя.

Задача с подколом, говорите? Придумал! Нужно взять 8 единиц и покрасить их в разные цвета. Тогда все 8 единиц можно будет различить, и они станут различными.

Можно, конечно, попытаться намухлевать с цифрами. Чтобы признак делимости на 9 выполнялся, нужно либо уменьшить сумму цифр на 4 единицы, либо увеличить на 5. Переворачиванием 6, 2 или 9 цели не добиться. Испохабив 4 до 7, или 7 до 1 — тоже. Спрятав тройку за восьмёркой, шестёрку за девяткой, или доработкой напильником 8 до 3 — тоже. Единственное, что вроде бы работает — разогнуть 2, превратив в 7. Тогда при построении числа мы читаём её как цифру 7, а при проверки делимости — как двойку. Хотя это не важно: 7 уже и так есть, а делимость на 2 обеспечена делимостью на 8.

Из цифр 1 3 4 6 7 7 8 9 можно составить следующие двузначные числа, делящиеся на 4:

48, 64, 16, 96 -- делятся на 8. Третья с конца цифра должна быть чётной
84, 68, 36, 76 -- не делятся на 8. Третья с конца цифра должна быть нечётной.

Дальше осталась переставить цифры так, чтобы результат делился на 7.

1000 = 143 * 7 - 1. Это значит, что 5-значный префикс и 3-значный суффикс должны давать комплементарные остатки от деления на 7.

Переберём все имеющиеся варианты суффиксов, посчитаем остаток от деления на 7:

648: 4
864: 3
816: 4
416: 3
496: 6
184: 2
384: 6
784: 0
984: 4
168: 0
368: 4
768: 5
968: 2
136: 3
336: 0
736: 1
936: 5
176: 1
376: 5
776: 6
976: 3

В общем, дальше мне надоело, но, думаю, для многих из этих вариантов можно сложить оставшиеся цифры так, чтобы получить комплементарный остаток.

Нехитрая программка выдаёт 251 результат:
#include 
#include 
int main()
{
	int digits[8] = {1, 3, 4, 6, 7, 7, 8, 9};
	do 
	{
		long x = 0;
		for (int i = 0; i < 8; ++i)
			x = x * 10 + digits[i];
		if (x % (7*8*9) == 0)
			std::cout << x << std::endl;
	}
	while (std::next_permutation(digits + 0, digits + 8));
	return 0;
}


Edited at 2020-05-30 14:54 (UTC)

Либо я невнимательно читаю условие задачи, либо такого числа не существует. Либо тут какие-то приколы с записью числа и с вольной трактовкой понятия "из цифр придумать число".Например, можно предположить, что ответом является число "ноль". Ноль на всё делится, и даже на самое себя. Не очень понятно только, подходит ли он под определение "из восьми цифр придумать число". Вроде как "можно использовать цифру" не означает, что "нужно".

А так, если ответ "ноль" не верен, получается следующее:
Попробуем сначала подумать, для каких восьми цифр такое возможно, то есть нам нужно исключить две.
Всего цифр 10. От нуля до девяти. Ноль не может участвовать в нашем числе, потому что на него ничего не делится нацело. Осталось исключить одну. Предположим, что это не пятерка. Тогда наше число будет заканчиваться на пятерку, чтобы делиться на пять. Ноль же мы не можем использовать. Но тогда получается, что наше число не будет делиться на два. Значит, в наш набор для составления ответа не входит пятерка. Но тогда точно входит девятка. То есть наше число должно делиться на девять. Но чтобы число делилось на девять, сумма его цифр должна делиться на девять. Но сумма цифр 1+2+3+4+6+7+8+9 = 40, что не делится на девять. Получается противоречие.

Логика правильная, сделанный вывод - нет.
Решение (несколько) существует.

Edited at 2020-05-31 09:51 (UTC)

0 исключаем. Число должно быть четным, поэтому цифру 5 тоже исключаем.
Остаются цифры 1,2,3,4,6,7,8,9, которые в сумме дают 40, которое не делится на 9. Значит, любые комбинации из этих цифр не будут делиться на 9. Решения нет.
Может, так: N=1*2*3*4*5*6*7*8 ?



Edited at 2020-05-29 10:25 (UTC)

Всё верно - кроме завершающего вывода. Решение есть.

В десятичной системе счисления не решается. А вот в других можно. Возьмем, например, 256ричную систему счисления, а в ней 8 цифр 1,2,4,8,16,32,64,128. Запишем эти цифры в любом порядке, но так, чтобы последней (младшей) цифрой в полученном числе было 128 (7! вариантов). Такое число (см. ниже) делится на каждую свою цифру.
а*256^7+b*256^6+c*256^5+d*256^4+e*256*3+f*256^2+g*256+128

Нужно выйти из зоны комфорта.
И найдётся решение в 10-ной системе.

12345678!
Не сказано что только из цифр
3777196248
не сказано что нельзя повторять

Читайте условия внимательнее ещё раз. Всё сказано.
Нельзя!

Про число из 8 различных цифр - у меня получается, что это невозможно.

Итак, у нас есть всего 10 цифр. Попробуем выбрать 8 из них.
Мы, очевидно, не можем использовать 0 - на него делить нельзя.
Остаётся 9 цифр.
Чтобы число делилось на 2, 4, 6, 8 - оно должно быть чётным.
Чтобы число делилось на 5 - оно должно заканчиваться на 5 или 0. 0 мы использовать не можем, 5 - нечётное, если мы используем его - мы не сможем использовать чётные цифры, у нас останется всего 5 цифр. Значит, мы не можем использовать 5.
Остаётся 8 цифр - 1,2,3,4,6,7,8,9, то есть мы должны использовать их все.
Но в сумме они дают 40, число, составленное из этих цифр не будет делиться на 3, и, тем более, на 9.


Можно чистым рассуждением без многодневного перебора. На ноль не делим, никак нельзя. Остаётся 9 цифр. В конце должна быть чётная по принципу Дирихле:), поэтому и пятёрку отбрасываем. И вот тут считаем сумму цифр — 40. На три не делится. Поэтому из цифр 12346789 любое число на 3 не делится. Никак нельзя составить такое число.
Остаётся найти подвох. Переворачивать 6 или 9 или даже 2 бесполезно. Можно составить степень.
То есть составить из некоторых этих цифр маленькое число, чтобы оно делилось на 2, 3, 7 и возвести его в степень , составленную из остальных цифр. Самое маленькое такое число — 126. Тогда получим 126^34789. Его можно записать без ^. Oно делится на любую из составляющих его цифр. Меняя степень, получим ещё 119 штук. А ведь можно и башенку из степеней состроить. Можно взять 168^, 294^ или ещё много. Но допустим ли этот способ?

Edited at 2020-05-29 11:30 (UTC)

Нет. Степени, факториалы и прочие действия над числами - нельзя.

Или не до конца понял условия, или нет решения.
Из цифр 0 исключаем сразу, т.к. его нельзя использовать в качестве делителя.
Исключаем также 5, т.к. чтоб делиться на 5 число должно заканчиваться на 0 или 5. На 0 не может по вышеуказанной причине, а если взять 5, то число не будет делиться на 2, 4, 6, 8.
Остаются 8 цифр: 12346789. Чтоб делиться на 9, сумма цифр должна делиться на 9, что не так для этого набора цифр.

Поскольку решение есть - то, очевидно, не до конца понятны условия.

Чувствую себя недалёким. Явно не вкуриваю прикол.
Сказано, что делиться должно на любое. Но ведь не на каждое.
Значит, нужно чтобы среди выбранных цифр была двойка, и последняя цифра нашего числа была чётной.

Но всё так как-то слишком легко. И цифр почему-то всего 8 надо выбрать.
Любопытно увидеть, что наотвечают человеки с прокачанной математикой. Может и прикол уловлю.

Задачка интересная, но очень уж сложная. Надо бы что нибудь попроще.
Например, как 500 разделить на 3 и никого не обидеть.

Страница 1 из 3
<<[1] [2] [3] >>
? ?