Здравствуйте, ZakkeR, Вы писали:
ZR>Здравствуйте, Багер, Вы писали:
Б>>Аналогичная задача про четыре четвёрки была уже? Мол, любое число, любые математические операции, но никаких констант.
А если применить формулу г-на Кодта, то:
n = log2(ln(4)/(4*ln(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt ... (4)))))))))))))))))...)
Где четвертая четверка фигурирует в основании двоичного логарифма, собственно и делая его двоичным. А если оперция log2 разрешена сама по себе, то четвертую четверку можно просто прибавить ко всему выражению и успокоиться
Здравствуйте, Sinclair, Вы писали:
S>Здравствуйте, Кодт, Вы писали: К>>Итого К>>n = — (ln ln sqrt{n+1} exp 2) / ln 2 S>гм. Все почти хорошо. Только где же третья двойка? Ведь точно помню, в обед еще... была третья двойка... Хто взял?.. Сознавайтесь, злодеи!
Что-то вы совсем расслабились за мое отсутствие. Двойку найти не можете! Вот она:
Здравствуйте, Pushkin, Вы писали:
P>В помощью всего трёх двоек, а также любых знаков и других математических обозначений записать любое натуральное число.
У Кодта в последнем варианте, в принципе, всё правильно, но в оригинале мне всё-таки нравится больше
Здравствуйте, ZakkeR, Вы писали: >А если применить формулу г-на Кодта, то:
1. будет совершенно неинтересно ))
2. да и код для 55 будет уж очень длинным и долго трудоёмко выполняющимся.
А вот дальше — интереснее ))
Используем как макро выражения собранных цифр. Ко всем нижеследующим
выражениям можно добавить соответствующее макро 0х... для выполнения
условия о четырёх четвёрках:
0x4= (i-i)*4
0x44= 4 -4
0x444= 4 -sqrt(4*4)
1x4= -(i)^sqrt(4)
1x44= 4/4
1х444= 4^(4-4)
2x4= sqrt(4)
2x44= 4 -2x4
2x444= 4 -2x44
3x44= 4 -1x4
3x444= 4 -1x44
4x44= sqrt(4*4)
4x444= 4 -0x44
5x44= 4 +1x4
5x444= 4 +1x44
6x44= 4 +2x4
6x444= 4 +2x44
7x444= (4! +4)/4
8x44= 4 +4
8x444= 4 +sqrt(4*4)
9x444= 8x44 +1x4
10x444= 8x44 +2x4
11x444= 44/4
12x444= 4*3x44
Если мне не изменяет память, то нельзя игнорировать при
записи логарифма цифру 2, ln и lg -актуальны.
...
19= 4! -4 -4/4
...
23= 4! -1x444
24= 4! -0x444
25..36= 4! +1..12x444
37..39= 4E+1x4 -3..1x44
40x44= 4E+1x4
41..46= 40x44 +1..6x44
47= 4! +4! -1x44
48x44= 4! +4!
49..54= 48x44 +1..6x44
55= ?
Ваша программа работает корректно? Один звонок и я всё исправлю!
Здравствуйте, mrhru, Вы писали:
M>Тогда можно еще и так:
M>def N = n //само число, тогда M>n = N
Нифига! "def" — это, считай, макрос. В твоем варианте появляются числа, тогда как в моих — их нет.
(x-x) == 0 для любого x.
Впрочем, можно вообще обойтись без чисел. Если привлечь теоретико-множественный аппарат.
Мощность пустого множества:
|| {} || == 0
Мощность одноэлементного множества:
|| {X} || == 1,
где X — на выбор, либо пустое множество {}, либо его мощность 0.
Имея 0, 1 и +, согласно основам арифметики, можно творить чудеса.
2 = 1+1
3 = 2+1
и т.д.
Если не определена операция сложения, но допускаются гетерогенные множества, то
определим набор уникальных элементов
I(k) = k==0 ? {} : { I(k-1) }
т.е. I0 = {}, I1 = { {} }, I2 = { { {} } } и так далее.
n = || { I(0) ... I(n-1) } ||
т.е. мощность множества из n разных элементов.
Для гомогенных множеств — придется поизгаляться с двоичным представлением.
Универсум порядка 0, U(0), содержит один уникальный объект — "пустое множество типа 0", он же o(0).
Универсум порядка k, U(k), состоит из подмножеств универcума U(k-1).
Здравствуйте, ZakkeR, Вы писали:
Б>>>Аналогичная задача про четыре четвёрки была уже? Мол, любое число, любые математические операции, но никаких констант.
ZR> ZR>А если применить формулу г-на Кодта, то:
ZR>n = log2(ln(4)/(4*ln(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt(sqrt ... (4)))))))))))))))))...)
ZR>Где четвертая четверка фигурирует в основании двоичного логарифма, собственно и делая его двоичным. А если оперция log2 разрешена сама по себе, то четвертую четверку можно просто прибавить ко всему выражению и успокоиться
Нафига такие сложности. Используем формулу Дирака, заменяя каждую 2 на sqrt 4.
Итого, 3 четверки.
Оставшуюся 4 можно куда-нибудь припахать, например, написав формулу для n+4, и явно отнять 4 от полученного результата.
Здравствуйте, Кодт, Вы писали:
К>Оставшуюся 4 можно куда-нибудь припахать, например, написав формулу для n+4, и явно отнять 4 от полученного результата.
Здравствуйте, Кодт, Вы писали:
M>>Тогда можно еще и так:
M>>def N = n //само число, тогда M>>n = N
К>Нифига! "def" — это, считай, макрос. В твоем варианте появляются числа, тогда как в моих — их нет.
Фигушки "нифига"
"(в оригинальном решении неявно используются константы e и 1/2)" !!!
Ну да, а что мне может помешать заранее продекларировать некие обозначения для всех возможных n, а потом их и использовать.
Вообще-то все эти "безобразия" от неточности терминологии (как всегда).
К>Впрочем, можно вообще обойтись без чисел. Если привлечь теоретико-множественный аппарат.
Здравствуйте, mrhru, Вы писали:
M>Вспомним лямбда-исчисление?...
Придется повыкручиваться с определением чисел.
Возможный способ — считать n = длина списка из n.
Все-таки, в теории множеств есть понятие кардинального числа — мощности множества; множество кардинальных чисел — это 0, натуральные и алефы.
В лямбда-исчислении — числа это привнесенные сущности.
Здравствуйте, Micker, Вы писали:
MP>>>n = — log2(log2(sqrt{n}(2)))
P>>О оно ! Вариант Дирака !
M>Раскентуйте мне, плиз, а sqrt{n}(2) для случая n = 5555 не использует цифру пять?
нет. Это означает, что в формуле написано
sqrt( sqrt( ... пять тысяч пятьсот пятьдесят пять раз прописью ... sqrt( 2 ) ... ) )