Любое число тремя двойками
От: Pushkin Россия www.linkbit.com
Дата: 14.01.03 11:31
Оценка:
В соседнем посте возник известный тип задач о получении некоторого числа с помощью нескольких других и любых знаков. Самая замечательная задача такого рода была придумана Полем Дираком.

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

16.01.03 22:30: Перенесено из 'Алгоритмы'
Re: Любое число тремя двойками
От: Gollum Россия  
Дата: 14.01.03 11:42
Оценка:
Здравствуйте, Pushkin, Вы писали:

P>В помощью всего трёх двоек, а также любых знаков и других математических обозначений записать любое натуральное число.


Хмм...

(2-2)/2 = 0
2-2/2 = 1 (2^0)
(2+2)/2 = 2 (2^1)

Все остальное получается через комбинации этих выражений
... << RSDN@Home 1.0 beta 4 >>
Eugene Agafonov on the .NET

Re: Любое число тремя двойками
От: Кодт Россия  
Дата: 14.01.03 12:02
Оценка: 40 (3)
Здравствуйте, Pushkin, Вы писали:

P>В соседнем посте возник известный тип задач о получении некоторого числа с помощью нескольких других и любых знаков. Самая замечательная задача такого рода была придумана Полем Дираком.


P>В помощью всего трёх двоек, а также любых знаков и других математических обозначений записать любое натуральное число.


Используется оператор квадратного корня SQRT как степень 1/2.

n = ln 2 / 2 ln (sqrt sqrt ... sqrt 2)
= ln 2 / 2 ln (2^(1/2n)) =
= ln 2 / 2*(1/2n * ln 2) =
= 1 / 1/n
Перекуём баги на фичи!
Re[2]: Любое число тремя двойками
От: Кодт Россия  
Дата: 14.01.03 12:04
Оценка:
Здравствуйте, Gollum, Вы писали:

G>(2-2)/2 = 0

G>2-2/2 = 1 (2^0)
G>(2+2)/2 = 2 (2^1)

G>Все остальное получается через комбинации этих выражений


Продемонстрируй, пожалуйста, не размножая при этом двойки.
Перекуём баги на фичи!
Re[3]: Любое число тремя двойками
От: Gollum Россия  
Дата: 14.01.03 12:22
Оценка:
Здравствуйте, Кодт, Вы писали:

К>Здравствуйте, Gollum, Вы писали:


G>>2-2/2 = 1 (2^0)


К>Продемонстрируй, пожалуйста, не размножая при этом двойки.


Это я плохо вопрос прочитал. Все, больше не буду
... << RSDN@Home 1.0 beta 4 >>
Eugene Agafonov on the .NET

Re: Любое число тремя двойками
От: Кодт Россия  
Дата: 14.01.03 12:41
Оценка:
Здравствуйте, Pushkin, Вы писали:

P>В помощью всего трёх двоек, а также любых знаков и других математических обозначений записать любое натуральное число.


Если можно вводить нетерминальные символы, то

def y = exp x --- заведомо не равное нулю число
n = (y+...+y)/y

Если можно пользоваться символьными константами, то это вообще песня:
n = (П+...+П)/П
(в оригинальном решении неявно используются константы e и 1/2).

Или вот еще:
def z = x-x --- ноль
def d = exp z --- единица
Перекуём баги на фичи!
Re[2]: Любое число тремя двойками
От: flyker Россия  
Дата: 14.01.03 12:42
Оценка:
Здравствуйте, Кодт, Вы писали:

К>Здравствуйте, Pushkin, Вы писали:


P>>В соседнем посте возник известный тип задач о получении некоторого числа с помощью нескольких других и любых знаков. Самая замечательная задача такого рода была придумана Полем Дираком.


P>>В помощью всего трёх двоек, а также любых знаков и других математических обозначений записать любое натуральное число.


К>Используется оператор квадратного корня SQRT как степень 1/2.


К>n = ln 2 / 2 ln (sqrt sqrt ... sqrt 2)

К>= ln 2 / 2 ln (2^(1/2n)) =
К>= ln 2 / 2*(1/2n * ln 2) =
К>= 1 / 1/n

А Поль Дирак знал про этот оператор ?
Все гениальное — просто
Re[3]: Любое число тремя двойками
От: Sinclair Россия https://github.com/evilguest/
Дата: 14.01.03 13:16
Оценка: 12 (1)
Здравствуйте, flyker, Вы писали:
Я думаю, знал. Если уж он придумал обобщенные функции и оператор Дирака, то про квадратные корни наверное знал...
... << RSDN@Home 1.0 beta 3 >>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[2]: Не-а
От: Pushkin Россия www.linkbit.com
Дата: 14.01.03 13:51
Оценка:
Здравствуйте, Кодт, Вы писали:

К>Используется оператор квадратного корня SQRT как степень 1/2.


Идея верная, но реализация нет.
Возможно, дело в том, что ниже неаккуратно написано (скобки и всё такое).
Но боюсь, не только в этом — там (пардон) просто ерунда написана

К>n = ln 2 / 2 ln (sqrt sqrt ... sqrt 2)


кто сказал, что (sqrt sqrt ... sqrt 2) = 2^(1/2n)

К>= ln 2 / 2 ln (2^(1/2n)) =

К>= ln 2 / 2*(1/2n * ln 2) =
К>= 1 / 1/n
Re[2]: Любое число тремя двойками
От: Pushkin Россия www.linkbit.com
Дата: 14.01.03 13:54
Оценка:
Здравствуйте, Кодт, Вы писали:

К>(в оригинальном решении неявно используются константы e и 1/2).


Дык вся фишка в неявности !
Re[3]: Не-а
От: Sinclair Россия https://github.com/evilguest/
Дата: 14.01.03 13:56
Оценка:
Здравствуйте, Pushkin, Вы писали:
P>кто сказал, что (sqrt sqrt ... sqrt 2) = 2^(1/2n)
А ведь верно! Будет (((2^1/2)^1/2)...)^1/2 = 2^(1/2*1/2*...*1/2) = 2^(1/(2^n))
... << RSDN@Home 1.0 beta 3 >>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[4]: Не-а
От: Кодт Россия  
Дата: 14.01.03 14:26
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Здравствуйте, Pushkin, Вы писали:

P>>кто сказал, что (sqrt sqrt ... sqrt 2) = 2^(1/2n)
S>А ведь верно! Будет (((2^1/2)^1/2)...)^1/2 = 2^(1/2*1/2*...*1/2) = 2^(1/(2^n))

Сорри, залепуха вышла.

E = sqrt exp 2 = e
S = sqrt...sqrt E = e^(1/2^n)
L = ln E = 1/2^n
LL = ln L = -n ln 2
n = -LL / ln 2

Итого
n = — (ln ln sqrt{n+1} exp 2) / ln 2
Перекуём баги на фичи!
Re[5]: Не-а
От: Sinclair Россия https://github.com/evilguest/
Дата: 14.01.03 14:31
Оценка:
Здравствуйте, Кодт, Вы писали:
К>Итого
К>n = — (ln ln sqrt{n+1} exp 2) / ln 2
гм. Все почти хорошо. Только где же третья двойка? Ведь точно помню, в обед еще... была третья двойка... Хто взял?.. Сознавайтесь, злодеи!
... << RSDN@Home 1.0 beta 3 >>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[6]: Не-а
От: Pushkin Россия www.linkbit.com
Дата: 14.01.03 14:43
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Здравствуйте, Кодт, Вы писали:

К>>Итого
К>>n = — (ln ln sqrt{n+1} exp 2) / ln 2
S>гм. Все почти хорошо. Только где же третья двойка? Ведь точно помню, в обед еще... была третья двойка... Хто взял?.. Сознавайтесь, злодеи!

Зато появилось явно число e — в математике (а Дирак был математиком) не пишут 'exp'.
А если разрешать букву e, то можно и (e+e+e+...)/e
Re[7]: Не-а
От: Lexey Россия  
Дата: 14.01.03 15:05
Оценка:
Здравствуйте, Pushkin, Вы писали:

К>>>Итого

К>>>n = — (ln ln sqrt{n+1} exp 2) / ln 2
S>>гм. Все почти хорошо. Только где же третья двойка? Ведь точно помню, в обед еще... была третья двойка... Хто взял?.. Сознавайтесь, злодеи!

P>Зато появилось явно число e — в математике (а Дирак был математиком) не пишут 'exp'.

P>А если разрешать букву e, то можно и (e+e+e+...)/e

Еще как пишут. e — это ЧИСЛО, а exp — экспоненциальная ФУНКЦИЯ.
"Будь достоин победы" (c) 8th Wizard's rule.
Re[8]: А четыре четвёрки?
От: Багер  
Дата: 14.01.03 17:04
Оценка:
Аналогичная задача про четыре четвёрки была уже? Мол, любое число, любые математические операции, но никаких констант.
Ваша программа работает корректно? Один звонок и я всё исправлю!

Делаю потенциальные фичи :))
Re: Любое число тремя двойками
От: comer США http://getboost.codeplex.com/
Дата: 14.01.03 17:40
Оценка:
Здравствуйте, Pushkin, Вы писали:

P>В помощью всего трёх двоек, а также любых знаков и других математических обозначений записать любое натуральное число.

А можно уточнить множество "любые знаки и другие математические обохначения"?
getboost.codeplex.com
citylizard.codeplex.com
Re[5]: Не-а
От: Atilla Россия  
Дата: 14.01.03 17:59
Оценка:
Здравствуйте, Кодт, Вы писали:

S>>А ведь верно! Будет (((2^1/2)^1/2)...)^1/2 = 2^(1/2*1/2*...*1/2) = 2^(1/(2^n))


К>Сорри, залепуха вышла.


К>E = sqrt exp 2 = e

К>S = sqrt...sqrt E = e^(1/2^n)
К>L = ln E = 1/2^n
К>LL = ln L = -n ln 2
К>n = -LL / ln 2

К>Итого

К>n = — (ln ln sqrt{n+1} exp 2) / ln 2

а если так?
S = sqrt...sqrt 2 = 2^(1/2^n)
L=ln S=(1/2^n)*ln 2
LL=ln (L/ln 2)=-n*ln 2
n=-LL/ln 2


итого:
n = - (ln ((ln sqrt{n+1}2) / ln 2)) / ln 2


как раз 3 двойки и ни одной экспоненты
... << RSDN@Home 1.0 beta 4 >>
Кр-ть — с.т.
Re[9]: А четыре четвёрки?
От: ZakkeR Россия http://znav.narod.ru
Дата: 15.01.03 01:38
Оценка:
Здравствуйте, Багер, Вы писали:

Б>Аналогичная задача про четыре четвёрки была уже? Мол, любое число, любые математические операции, но никаких констант.


0 = 44 — 44
1 = 44 / 44
2 = 4/4 + 4/4
3 = (4+4+4)/4
4 = sqrt(4*4) + 4 — 4
5 = 4 + (sqrt(4*4))/4
6 = 4 + sqrt(4) + 4 — 4
7 = 4 + sqrt(4) + 4/4
8 = 4 + 4 + 4 — 4
9 = 4 + 4 + 4/4
10 = 4 + 4 + 4/sqrt(4)
11 = 44 / (sqrt(4*4))
12 = (44+4)/4
13 = 44/4 + sqrt(4)
14 = 4*4 — 4/sqrt(4)
15 = 4*4 — 4/4
16 = 4*4 + 4 — 4
17 = 4*4 + 4/4
18 = 4*4 + 4/sqrt(4)
19 = 4*4 + log2(4+4)
20 = 4*4 + sqrt(4*4)
21 = (44-sqrt(4))/sqrt(4)
22 = 44 / 4 * sqrt(4)
23 = ?

фсе! моя устала
regards
Re[2]: Re: Любое число тремя двойками
От: mrhru Россия  
Дата: 15.01.03 02:09
Оценка:
Здравствуйте, Кодт, Вы писали:

К>Если можно вводить нетерминальные символы, то


К>def y = exp x --- заведомо не равное нулю число

К>n = (y+...+y)/y

К>Если можно пользоваться символьными константами, то это вообще песня:

К>n = (П+...+П)/П
К>(в оригинальном решении неявно используются константы e и 1/2).

К>Или вот еще:

К>def z = x-x --- ноль
К>def d = exp z --- единица

Тогда можно еще и так:

def N = n //само число, тогда

n = N
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.