Я тут недавно узнал, что все числа от 1 до 10000 можно записать, использовать следующие правила:
1) использовать все цифры от 1 до 9, ровно по одному разу
2) порядок цифр должен быть возрастающим
3) цифры можно объединять в числа
4) разрешено 5 базовых операций: + - * / ^
5) разрешено менять порядок операций с помощью скобочек.
Например: 10957 = (1+2)^(3+4)*5-67+89
Осилим проверить этот факт? Записывать мелкие числа скучно, поэтому начнем с 100.
Пишем по порядку, можно несколько чисел за раз.
Начну:
100 = 1-2+3*4*5+6*7+8-9
101 = 1+2+3^4+5+6+7+8-9
102 = 1*2+3^4+5+6+7-8+9
103 = 1+2+3^4+5+6+7-8+9
104 = 1*2*3*4*5-6+7-8-9
105 = 123-4*5-6+7-8+9
106 = 12*3+4*5+67-8-9
107 = 1+2*3*4*5-6-7+8-9
108 = 1*2*3*4*5-6-7-8+9
109 = 12*3*4-5-6-7-8-9
110 = 123 - 4 + 5 - 6 - 7 + 8 - 9
111 = (-1+2)*3*(45 - 6*(-7+8)^9)
112 = 123 - 4 + 5 - 6 - 7 - 8 + 9
113 = 1 -2 + 3 +4 +5 +6 +7 + 89
114 = 123 - 4 - 5 + 6 - 7 - 8 + 9
115 = 1*2^(3+4) + 5 + 6 - 7 - 8 - 9
116 = 123 - 4 - 5 + 6 - 7 - 8 + 9
117 = 123 + (-4+5) - 6 + (7-8)^9
118 = 123 - 4 - 5 - 6 - 7 + 8 + 9
119 = 123 - 4 - (5-6) + (7-8)^9
120 = 123 + 4 - 5 + 6 - 7 + 8 - 9
121 = 123 - 4 - (5-6) - (7-8)^9
122 = 123 - 4 + 5 + 6 - 7 + 8 - 9
123 = 123 + (4-5)^6 + (7-8)^9
124 = 123 - 4 + 5 - 6 + 7 + 8 - 9
125 = 123 + (4-5)^6 - (7-8)^9
126 = 123 - 4 - 5 + 6 + 7 + 8 - 9
127 = 123 + 4 - (5-6) + (7-8)^9
128 = 1*2^(3+4) + (5 - 6 - 7 + 8)*9
129 = 123 + 4 - (5-6) - (7-8)^9
130 = 123 - 4 - 5 + 6 - 7 + 8 + 9
131 = 1*2^(3+4) + 5 + 6 - 7 + 8 - 9
132 = 123 - 4 - 5 - 6 + 7 + 8 + 9
133 = 1*2^(3+4) + 5 - 6 + 7 + 8 - 9
134 = 123 + 4 - 5 + 6 + 7 + 8 - 9
135 = 1*2^(3+4) - 5 + 6 + 7 + 8 - 9
136 = 123 - 4 + 5 + 6 + 7 + 8 - 9
137 = 1*2^(3+4) - 5 + 6 + 7 - 8 + 9
138 = 123 - 4 + 5 + 6 + 7 - 8 + 9
139 = 1*2^(3+4) - 5 + 6 - 7 + 8 + 9
140 = 123 - 4 + 5 + 6 - 7 + 8 + 9
141 = 1*2^(3+4) - 5 - 6 + 7 + 8 + 9
142 = 123 - 4 + 5 - 6 + 7 + 8 + 9
143 = 12*3*4 - 5 - 6 - 7 + 8 + 9
144 = 123 - 4 - 5 + 6 + 7 + 8 + 9 = 12*3*4 + (5 - 6 - 7 + 8)*9
145 = 1*2^(3+4) + 5 + 6 + 7 + 8 - 9 = 12*3*4 + 5 + 6 + 7 - 8 - 9
Где-то могут быть описки, но вроде так. Понятно, что в таком ключе еще далеко можно уйти, лень...
Да. Походу тут все еще не интересно.
Можно попробовать идти наоборот от 10000 к 1.
Но тут уже выглдяит слишком сложно. Я пока не смог придумать разложения для 10000
Айда вверх и вниз от 5000.
Хотя 5000 тоже не выходит =) Программку написать, что ли...
А из того, что я написал, одно получилось интересным, 111. Идейно 3*37.
Крутяк =)
4995 = -1 -2 +(3*4 + 5*6) * 7 * (8 + 9)
4996 = - 1*2 + (3*4 + 5*6) * 7 * (8 + 9)
4997 = 1 - 2 + (3*4 + 5*6) * 7 * (8 + 9)
4998 = (-1 + 2) * (3*4 + 5*6) * 7 * (8+9)
4999 = - 1 + 2 + (3*4 + 5*6) * 7 * (8 + 9)
5001 = 1 + 2 + (3*4 + 5*6) * 7 * (8 + 9)
Чувствуется размах -)).
Предложение по стратегии: сначала рассмотреть кратные 1000 (см.ниже), затем кратные 100, в процессе фиксировать всю побочку, а затем заниматься тонкой подгонкой.
Варианты кратных 1000 (пока нет 8, как ни странно, но есть 5 и 10):
1+2+3+4^5-6-7-8-9 = 1000
(1+2)*3+4*5*(6*7+8)-9 = 1000
(12:3+4)*5*(6*7-8-9) = 1000
(12:3+4)*5*(67-8-9) = 2000
1-2+3+45*67-8-9 = 3000
(1+23-4)*5*(6+7+8+9) = 3000
(12*3-4)*5*(6*7-8-9)=4000
1*2^(3+4)+56*(78+9) = 5000
(12*3+4)*5*(6*7-8-9) = 5000
12*3-4+5+67*89 = 6000
(12*3+4)*5*(6+7+8+9) = 6000
(12^3)*4-5+6+78+9 = 7000
(12+3)*4*5*(6+7+8+9) = 9000
1+2-3+4*5*(6*7+8)*9 = 9000
(123-4+5-6+7)*8*9 = 9000
(12*3+4)*5*(67-8-9) =10000
(1-2+3^4)*5*(6*7-8-9) =10000
Уточните, плиз, можно ли юзать унарные минусы (я парочку вариантов с ними отбросил).
Желающим размяться позволю себе порекомендовать похожее упражнение только с числом 100 (например, предложить 100 разных способов (можно без степени)).
P.S.О, 8000 родил -)):
8000=(1+2+3+4)*(5+6+789) и заодно исправил 4000.
+вариант попроще:8000=(12*3-4)*5*(67-8-9) и по аналогии:
5000=(1+23-4)*5*(67-8-9)
6000=1*2*3*4*5*(67-8-9)
7000=(1+23+4)*5*(67-8-9)
9000=(1*2+34)*5*(67-8-9)...
Немного причешем -)):
1000=(1+2-3+4)*5*(67-8-9)
2000=(12:3+4)*5*(67-8-9)
3000=(1^2*3*4)*5*(67-8-9)
4000=((12:3)*4)*5*(67-8-9)
5000=(1+23-4)*5*(67-8-9)
6000=(1*2*3*4)*5*(67-8-9)
7000=(1+23+4)*5*(67-8-9)
8000=(12*3-4)*5*(67-8-9)
9000=(1*2+34)*5*(67-8-9)
10000=(12*3+4)*5*(67-8-9).
Жаль, конечно, было отбрасывать несколько симпатичных вариантов, но в объемных задачах очень важен системный подход.
Более того, немного скорректируем план решения: с помощью лома арифметического №250=*5*(67-8-9) попробуем найти разложения для остальных чисел кратных 250. Для этого необходимо из набора {1;2;3;4} получить все натуральные числа до 40 включительно:
1=12:3:4
2=1+2+3-4
3=1+2*3-4
4=1+2-3+4
5=12-3-4
6=1-2+3+4
7=1^2*(3+4)
8=12:3+4
9=12*3:4
10=1+2+3+4
11=12+3-4
12=(1^2)*3*4
13=12-3+4
14=1*2*(3+4)
15=1+2*(3+4)
16=(12:3)*4
17=(1:2)*34
18-?(-1+23-4)
19=1*23-4
20=1+23-4
21=(1+2)*(3+4)
22-?
23=(1+2)^3-4
24=1*2*3*4
25=1+2*3*4
26-?(-12+34)
27=1*23+4
28=1+23+4
29-?
30-?
31=(1+2)^3+4
32=12*3-4
33=1-2+34
34=1^2*34
35=1^2+34
36=1*2+34
37=1+2+34
38-?
39-?
40=12*3+4,
т.е. по горячим следам пока не удалось получить 22, 29, 30, 38, 39, а также 18 и 26 (если не разрешены унарные минусы).
Имеем:
250=(12:3:4)*5*(67-8-9)
500=(1+2+3-4)*5*(67-8-9)
750=(1+2*3-4)*5*(67-8-9)
1000=(1+2-3+4)*5*(67-8-9)
1250=(12-3-4)*5*(67-8-9)
1500=(1-2+3+4)*5*(67-8-9)
1750=(1^2*(3+4))*5*(67-8-9)
2000=(12:3+4)*5*(67-8-9)
2250=(12*3:4)*5*(67-8-9)
2500=(1+2+3+4)*5*(67-8-9)
2750=(12+3-4)*5*(67-8-9)
3000=((1^2)*3*4)*5*(67-8-9)
3250=(12-3+4)*5*(67-8-9)
3500=(1*2*(3+4))*5*(67-8-9)
3750=(1+2*(3+4))*5*(67-8-9)
4000=((12:3)*4)*5*(67-8-9)
4250=((1:2)*34)*5*(67-8-9)
4500=см. ниже
4750=(1*23-4)*5*(67-8-9)
5000=(1+23-4)*5*(67-8-9)
5250=((1+2)*(3+4))*5*(67-8-9)
5500-?
5750=((1+2)^3-4)*5*(67-8-9)
6000=(1*2*3*4)*5*(67-8-9)
6250=(1+2*3*4)*5*(67-8-9)
6500-?
6750=(1*23+4)*5*(67-8-9)
7000=(1+23+4)*5*(67-8-9)
7250-?
7500=см. ниже
7750=((1+2)^3+4)*5*(67-8-9)
8000=(12*3-4)*5*(67-8-9)
8250=(1-2+34)*5*(67-8-9)
8500=(1^2*34)*5*(67-8-9)
8750=(1^2+34)*5*(67-8-9)
9000=(1*2+34)*5*(67-8-9)
9250=(1+2+34)*5*(67-8-9)
9500=см. ниже
9750-?
10000=(12*3+4)*5*(67-8-9),
т.е. этим способом пока не удалось получить 4500, 5500, 6500, 7250, 7500, 9500 и 9750.
Но, скажем, 4500 можно получить так:
4500=(1-2+3)*45*(67-8-9)=1*(2+3)+4567-8*9,
7500=(12+3)*4*5*(6*7-8-9)=(1+23-4)*5*(6+78-9),
9500=(1+23-4)*5*((6+7)*8-9)...
Давайте считать что унарные минусы разрешены. что уж там... для симметрии...
> 26-?(-12+34)
Ась?
26 = -1 + 23 + 4 тогда уж.
Есть такая игра на iOS - https://itunes.apple.com/ru/app/tchisla/id1100623105. Смысл в том. чтобы составить все числа от 1 до 100 из единиц, двоек, троек и т.д. за минимальное кол-во цифр. Например: за какое кол-во восьмерок вы составите число 50(это из решенных) или 49 из шестерок(не решена). P.S. Разрешенные действия + - / * корень, степень и факториал
Возвращаясь к первоначальной задаче...
Пожалуй, можно сформулировать пару правил:
1)с помощью цифр из 2-й половины данного ряда (6-9) мы приближаемся к искомому числу, а с помощью цифр 1-4 получаем его точное значение (5 - по ситуации);
2)поскольку искомые числа - достаточно большие (отн. цифр), то ключевой операцией будет умножение (+ недостаточно эффективен, а степень недостаточно гибкая). Поэтому наше искомое множество целесообразно разбить на подмножества по принципу кратности. Этих самых подмножеств будет ни много ни мало - 1229+1 (количество простых чисел), некоторые из них будут состоять из большого количества элементов (их тоже необходимо будет представлять в виде подмножеств), но это поможет систематизировать поиски.
В качестве иллюстрации рассмотрим числа кратные 89. Для этого из набора 1-7 мы должны получить все числа от 1 до 112.
Например: 7209=81*89=(1·2+3+4+5+67)*89.
Далее рассмотрим числа кратные 72=8*9. Это можно сделать, дополнив полученный ранее список числами от 113 до 138, например:8856=123*72=(123+4-5-6+7)*8*9 или 8928=124*72=(1-2+3-4)*(5-67)*8*9 -)).
Итого сейчас у нас есть:
40 - :250
39+1 - :125
112 - : 89
136 - : 72 (136=138-2 с учетом пересечений)
_____
327+1 чисел.
P.S.Кстати, 7125 (см. ранее) можно получить проще:
7125=95*75=19*5*75=(12+3+4)*5*(6+78-9) или
7125=75*95=15*5*95=(1+2+3*4)*5*((6+7)*8-9).
Ну, или непроще:
7125=(12-3)^4+(5/6+7)*8*9
(не выбрасывать же такую милую побочку -)) ).
Удалось получить разложение 8375 (без унарного минуса). Попытки реализовать несколько очевидных вариантов (-67*5*25=-67*125=25*5*(-67)) оказались, увы, безуспешными (это же касается и менее очевидного варианта (1:2-34)*250).
Помог нехитрый прием, систематизация которого входила в ближайшие планы:
8375=(1*23+4^5-6+7)*8-9.
1.Развивая озвученную ранее идею, найдем разложения чисел, кратных 17=8+9. Для этого необходимо из набора (1-7) получить все числа до 588 вкл. (из них 1-138 получены ранее). Сначала дополним базовый набор (1-4) как положительными числами 40+, так и отрицательными, а также 0 (с его помощью мы будем осуществлять точную подгонку). А для начального приближения будем использовать тройку (5-7): 210=5*6*7, 335=5*67, 392=56*7, 567 и т.п. Таким образом можно получить большинство искомых чисел. Пока не удалось получить (без унарных минусов): 321, 514, 530, 537, 550. Поэтому для них найдем разложения отдельно:
321*17=5457=12+3+4^5*6-78*9
514*17=8738=1^23+(4^5+67)*8+9
530*17=9010=1^2*34*5*(6+7*8-9)
537*17=9129=(1^2+(3*4+5)*67)*8+9
550*17=9350=17*(567-8-9).
2.Эти разложения можно также использовать для получения чисел вида 8N-9 и 8N+9, дополнив их:
321*8-9=2559=(12+34+5)*(6*7+8)+9
514*8-9=4103=1*2^(3*4)-5+6+7+8-9
530*8-9=4231=1+2^(3*4)+5-6+(7+8)*9
537*8-9=4287=1*2^(3*4)+56+(7+8)*9
550*8-9=4391=1*2^(3*4)+5*(6*7+8+9)
321*8+9=2577=1-23*(45+67)*(8-9)
514*8+9=4121=1*2^(3*4)-5+6+7+8+9
530*8+9=4249=1+2^(3*4)+56+7+89
537*8+9=4305=1*2^(3*4)+5*6*7+8-9
550*8+9=4409=88*50+9=(1*2+3^4+5)*(6*7+8)+9.
Понятно, что таким способом получены разложения чисел пока только из первой половины данной выборки.
3.Итого на сейчас (с учетом пересечений):
80 :125
112 : 89
136=138- 2 : 72
570=588-18 : 17
542=587-45 8N-9 (до 4695 вкл.)
543=588-45 8N+9 (до 4713 вкл.)
___
1983
Афигеееть... Как Вы это делаете?
А давайте ограничим задачу сверху? Какое вообще максимальное число можно получить по этим правилам?
Для максимума разве можно чем-то усилить 12^(3^(4^(5^(6^(7^(8^9)))))) ?
Мне кажется, вы неверно оттрактовали вопрос.
> А давайте ограничим задачу сверху? Какое вообще максимальное число можно получить по этим правилам?
Здесь нет требования получения непрерывного ряда. Просто каков максимум.
Интереснее, но, кажется, бессмысленно из-за невозможности строгого доказательства непредставимости конкретного числа (разве что адским совершенно перебором), что вы уже и написали.
Уж что-что, а отсутствие смысла нас никогда не останавливало.-))
В общем, 2-я сотня овэ 10000 (т.е. 10101-10200) сходу зашла почти вся (кроме 10102 и 10174), т.е. эффективность системы составила 98% (а не 85-90%, как в первом случае).
Этот результат меня несколько приободрил и даже сподвигнул наконец-то к решению общей задачи (вместо разработки подходов и приемов). Чтобы сразу прояснить ситуацию, взял последнюю тыщу перед вершиной (9001-10000), надеясь получить по системе 97% (оставив 3% пресловутой погрешности).
Получилось неплохо, правда, иногда присутствовал легкий напряг, и один раз даже муза посещала (да так, что пришлось выгонять в шею -)) - там под раздачу и 10174 попало). В общем, осталось 10 пока неполученных разложений, т.е. из интервала 9001-10200 имеется ровно 99% чисел.-))
Конечно, следовало бы включить старательного дошкольника и доработать таки систему (которая по-прежнему пребывает в "половинчатом и недоконченном виде" аки реформы Столыпина по мнению некоторых историков -)) ). Это весьма унылая тьягомоттина, но в высшей степени необходимая.
Если, конечно, интересует результат.
Получены разложения почти всех чисел из 8-й тыщи (кроме 7676). В качестве компенсации решено 3 проблемы из 10-й (см. выше).
Итого: "осталось" 8 реально + 8 тыщ потенциально проблемных чисел.