Версія даної теми для друку

Натисніть сюди для перегляду даної теми у оригінальному форматі

Розподілені обчислення в Україні _ Наука _ Это реальная задача по теории вероятностей!

Автор: Death Oct 27 2011, 21:12

(Show/Hide)

http://lurkmore.ru/Mindfuck

Автор: tiss Oct 27 2011, 23:09

(Death @ Oct 27 2011, 22:12) *




Между прочим ничего смешного в этом нет! Это реальная задача по теории вероятностей! Попробуй дать правильный ответ на впорос!

Автор: nikelong Oct 27 2011, 23:29

tiss,
"B" ?

Автор: vitalidze1 Oct 28 2011, 09:23

Якщо питання буде відкритим, то хз, якщо закритим,то 50/50

Автор: Khvastov Maxim Oct 28 2011, 09:50

я голосую за А) ph34r2.gif

Автор: tribal Oct 28 2011, 15:51

по идее 50 %

Автор: london2004 Oct 28 2011, 17:37

B - 50%
Потому что есть 2 по 25%

Кто-нибудь, скажите обоснованный правильный ответ smile.gif

Автор: SpellChecker Oct 28 2011, 18:20

Правильный ответ: Stack overflow
smile.gif

(Show/Hide)

Правильный ответ: 0%, т.к. любоый выбранный ответ из предложенных будет неверным! А значит и вероятность выбора правильного - нулевая"

Автор: tyoma Oct 28 2011, 19:32

Задача некоректна блин же. Мало вводных данных ), чесс слово.

Автор: nikelong Oct 28 2011, 19:57

Ну так что, кто даст развернутый ответ?

Я могу обосновать свой вариант "Бэ". В этом случае вероятность того что я дал правильный ответ - 50%: или прав, или неправ smile.gif

Автор: Death Oct 28 2011, 20:19

B это 1 из 4 - то есть 25% ОЛОЛО

Автор: tiss Oct 28 2011, 22:08

(Death @ Oct 28 2011, 21:19) *

B это 1 из 4 - то есть 25% ОЛОЛО


Ответ очень прост - у вас не спрашивается, какой из вариантов ответа верный. Дальше продолжать или вывод сделаете сами? wink2.gif

Автор: mzhelo Oct 28 2011, 22:13

С вероятностью 50% я получу ответ 25% - не корректно;
с вероятностью 25% я получу ответ 50% - не корректно;
с вероятностью 25% я получу ответ 60% - не корректно.

Итого, вероятность = 0.

Автор: tribal Oct 28 2011, 22:24

блин.. я запутался... там вообще 33,3% вероятность правильного ответа, но в предложенных вариантах этого нет

Автор: mzhelo Oct 28 2011, 22:50

QUOTE(tribal @ Oct 28 2011, 23:24) *

блин.. я запутался... там вообще 33,3% вероятность правильного ответа, но в предложенных вариантах этого нет

tribal, разве в условии задачи написано, что один из приведенных ответов обязательно является правильным?

Автор: Bel Oct 28 2011, 22:56

Здесь нужен x3mEn с кулькулятором.

Автор: mzhelo Oct 28 2011, 22:57

QUOTE(Bel @ Oct 28 2011, 23:56) *

Здесь нужен x3mEn с кулькулятором.

Ну-ну... Неужели так плохо с английским языком?

Автор: Bel Oct 28 2011, 23:07

mzhelo, smile.gif я ж не говорил, что здесь нужен x3mEn с переводчиком, здесь нужен x3mEn с кулькулятором. Ведь он у нас спец по всей этой математике.

Автор: mzhelo Oct 28 2011, 23:12

QUOTE(Bel @ Oct 29 2011, 00:07) *

mzhelo, smile.gif я ж не говорил, что здесь нужен x3mEn с переводчиком, здесь нужен x3mEn с кулькулятором. Ведь он у нас спец по всей этой математике.

В условии задачи также не написано, что только x3mEn спец по математике. icon_trollface.png

Автор: Death Oct 28 2011, 23:12

mzhelo, все проигнорировали. )) обсуждать интересней )))

Автор: A1ex01 Oct 28 2011, 23:15

если верного ответа нет в списке-0%
если один-25%
2-50%
3-75%
4-100%
orly.gif

Автор: mzhelo Oct 28 2011, 23:19

QUOTE(Death @ Oct 29 2011, 00:12) *

mzhelo, все проигнорировали. )) обсуждать интересней )))

ffuuuuu.png

Автор: x3mEn Oct 28 2011, 23:20

Я згоден з mzhelo, chance = 0.

Автор: mzhelo Oct 28 2011, 23:25

Люди, найдите кто-нибудь задачу про парня, который ездил на метро к двоим своим девушкам. Пообсуждаем.

Автор: SpellChecker Oct 30 2011, 13:22

а в спойлер в моем посте никто так и не заглянул ?!? wink.gif

Автор: mzhelo Oct 31 2011, 19:59

SpellChecker, я не обратил внимания на спойлер, только сейчас прочёл.

Автор: mzhelo Oct 31 2011, 20:30

С предыдущей задачей, полагаю, закончили.
Теперь вашему вниманию предлагается новая:

В Бронкс или Бруклин? Один молодой человек живет в Манхэттене возле станции метро. У него есть две знакомые девушки. Одна из них живет в Бруклине, вторая — в Бронксе. Когда он едет к девушке из Бруклина, то садится в поезд, подходящий к платформе со стороны центра города. Когда же едет к девушке из Бронкса, то садится в поезд, идущий в центр. Поскольку обе девушки нравятся ему одинаково, он просто садится в тот поезд, который приходит первым. Таким образом, в выборе, куда ехать, он полагается на случай. Молодой человек приходит на станцию каждую субботу в разное время. И в Бруклин и в Бронкс поезда ходят с одинаковым интервалом в 10 минут. Тем не менее, по каким-то непонятным причинам большую часть времени он проводит с девушкой из Бруклина: в среднем из каждых пяти поездок четыре приходятся на Бруклин. Попробуйте догадаться, почему у Бруклина такой огромный перевес.

Автор: Rilian Oct 31 2011, 23:25

mzhelo, У девушки из Бруклина сиськи больше =)

Автор: Death Oct 31 2011, 23:52

поезд на бруклин приходит на платформу через 2 минуты после поезда на бронкс.


следующий.

Автор: SpellChecker Nov 1 2011, 10:28

QUOTE(Death @ Nov 1 2011, 00:52) *

поезд на бруклин приходит на платформу через 2 минуты после поезда на бронкс.

cool2.gif
Тут бы надо пояснить, что 4/5 - как раз и получается из того, что в любом 10 минутном интервале хождения поезда из Бруклина есть интервалы до прихода поезда из Бронкса (1/5 = 2 минуты) и следующий интервал, после прихода поезда из Бронкса, до прихода следующего поезда из Бруклина (4/5 = 8 минут).
Соответственно, вероятность случайно рийти на перон во вротой интервал времени = 4/5.

Автор: mzhelo Nov 1 2011, 21:08

QUOTE(Death @ Nov 1 2011, 00:52) *

поезд на бруклин приходит на платформу через 2 минуты после поезда на бронкс.


следующий.

В этом случае сиськи были бы больше у девушки из Бронкса wink.gif

Автор: x3mEn Nov 1 2011, 21:14

Чому каналізаційні люки роблять круглими, а не, наприклад, квадратними?

Автор: Death Nov 1 2011, 22:20

круглій не проваливается )))


след.

Автор: tiss Nov 1 2011, 22:21

(Death @ Nov 1 2011, 22:20) *

круглій не проваливается )))


Тогда почему люки водостоков прямоугольные, а не круглые?

Автор: Death Nov 1 2011, 22:34

как много вопросов.
прям передача ХВЗ

водостоки реже снимают и далеко не упадут. а если и упадут то ничего не поломают...
и потом водостоки чаще поднимают техникой а люки сантехникой ))

Автор: Rilian Nov 1 2011, 23:27

QUOTE(x3mEn @ Nov 1 2011, 21:14) *

Чому каналізаційні люки роблять круглими, а не, наприклад, квадратними?

легче катить когда хочешь угнать люк

Автор: x3mEn Nov 1 2011, 23:29

У людини, яка знаходиться на відстані декількох кілометрів від Пентагону, яка ймовірність побачити 3 сторони?

Автор: x3mEn Nov 1 2011, 23:42

Із точки А в точку В одночасно рушають дівчина, хлопець і їхній пес.
Дівчина рухається зі швидкістю 3 км/год, хлопець - 5 км/год, пес - 7 км/год
До того ж пес весь час бігає від хлопця до дівчини і назад.
У напрямку до кого буде повернутий головою пес через півгодини після початку руху?

Автор: Rilian Nov 2 2011, 09:53

QUOTE(x3mEn @ Nov 1 2011, 23:42) *

Із точки А в точку В одночасно рушають дівчина, хлопець і їхній пес.
Дівчина рухається зі швидкістю 3 км/год, хлопець - 5 км/год, пес - 7 км/год
До того ж пес весь час бігає від хлопця до дівчини і назад.
У напрямку до кого буде повернутий головою пес через півгодини після початку руху?

в направлении мальчика

QUOTE(x3mEn @ Nov 1 2011, 23:29) *

У людини, яка знаходиться на відстані декількох кілометрів від Пентагону, яка ймовірність побачити 3 сторони?

50%

Автор: x3mEn Nov 2 2011, 10:10

Rilian, обоснуй обидві відповіді

Автор: nikelong Nov 2 2011, 10:54

(x3mEn @ Nov 1 2011, 21:14) *

Чому каналізаційні люки роблять круглими, а не, наприклад, квадратними?


Чтобы работникам коммунальных служб туда было удобнее лазить.
Забегая вперед - да, в сливную решетку комунальщикам особо лазить не нужно, поэтому она и меньше. И да, "полосы" решетки расположены паралельно направлению движения, чтобы колесам легче было.

Автор: nikelong Nov 2 2011, 11:03

(x3mEn @ Nov 1 2011, 23:29) *

У людини, яка знаходиться на відстані декількох кілометрів від Пентагону, яка ймовірність побачити 3 сторони?

Если человек смотрит прямо на ребро - то он видит всегда только 2 стороны. При любом изменении угла от этого положения он будет видеть три стороны.

Автор: nikelong Nov 2 2011, 11:08

(x3mEn @ Nov 1 2011, 23:42) *

Із точки А в точку В одночасно рушають дівчина, хлопець і їхній пес.
Дівчина рухається зі швидкістю 3 км/год, хлопець - 5 км/год, пес - 7 км/год
До того ж пес весь час бігає від хлопця до дівчини і назад.
У напрямку до кого буде повернутий головою пес через півгодини після початку руху?

Непонимаю до конца постанову задачи.
Если из точки а в сторону точки бэ все трое стартонули одновременно, то как может потом пес бегать между мальчиком и девочкой? Ведь в момент когда он добежит до точки бэ и будет возвращатся назад то что, он пробежит мимо мальчика до девочки, а потом вернется назад в точку бэ? Или вернется только до пацана а потом снова до девочки, забив на второе возвращение до точки бэ?

Ну и да, если между точками а и бэ расстояние 3,5 км или больше то пёс через пол часа в любом случае будет смотреть мордой ОТ мальчика и девочки, показывая им свой пушистый хвост...

Автор: Alexis Kravtchenko Nov 2 2011, 11:45

Поправлю Rilianа : 50% в направлении мальчика facepalm.gif
Жарт, згоден з nikelong

+

Якщо відстань від спостерігача до центру пентагону менша за R/sin(18 град), то він не побачить три сторони(тільки 2 чи одну). А далі асимптотично до 50% :

Подовжити сторони --> 10 "секторів" , 5 "вузьких" з них по 36 град( 360 / 5 = 72, (90 - 72) * 2 = 36 )

36 * 5 / 360 = 0.5
Якщо відомо радіус(я брав вписаний) Пентагону та відстань від спостерігача до його центру, то можна точно обчислити ймовірність...

Моя відповідь - менше 50 % sarcastic.gif

Автор: x3mEn Nov 2 2011, 14:28

Alexis Kravtchenko, довжина сторони Пентагона 281м (вікі),
а людина знаходиться на відстані декількох кілометрів => >=2км.
Є ще питання?

(nikelong @ Nov 2 2011, 11:08) *

(x3mEn @ Nov 1 2011, 23:42) *

Із точки А в точку В одночасно рушають дівчина, хлопець і їхній пес.
Дівчина рухається зі швидкістю 3 км/год, хлопець - 5 км/год, пес - 7 км/год
До того ж пес весь час бігає від хлопця до дівчини і назад.
У напрямку до кого буде повернутий головою пес через півгодини після початку руху?

Непонимаю до конца постанову задачи.
Если из точки а в сторону точки бэ все трое стартонули одновременно, то как может потом пес бегать между мальчиком и девочкой? Ведь в момент когда он добежит до точки бэ и будет возвращатся назад то что, он пробежит мимо мальчика до девочки, а потом вернется назад в точку бэ? Или вернется только до пацана а потом снова до девочки, забив на второе возвращение до точки бэ?

Ну и да, если между точками а и бэ расстояние 3,5 км или больше то пёс через пол часа в любом случае будет смотреть мордой ОТ мальчика и девочки, показывая им свой пушистый хвост...

Ніке, ще раз читай постановку:
Пес весь час бігає від хлопця до дівчини і назад

Пес не бігає до точки В, а тільки між хлопцем і дівчиною.

(nikelong @ Nov 2 2011, 11:03) *

(x3mEn @ Nov 1 2011, 23:29) *

У людини, яка знаходиться на відстані декількох кілометрів від Пентагону, яка ймовірність побачити 3 сторони?

Если человек смотрит прямо на ребро - то он видит всегда только 2 стороны. При любом изменении угла от этого положения он будет видеть три стороны.

Ніке, в нас з тобою якась різниця в термінології.
Як людина може дивитися прямо на ребро і бачити 2 сторони???

Автор: Rilian Nov 2 2011, 14:55

QUOTE(x3mEn @ Nov 2 2011, 14:28) *
Ніке, в нас з тобою якась різниця в термінології.
Як людина може дивитися прямо на ребро і бачити 2 сторони???

IPB Image

QUOTE(x3mEn @ Nov 1 2011, 21:14) *

Чому каналізаційні люки роблять круглими, а не, наприклад, квадратними?

IPB Image

QUOTE(tiss @ Nov 1 2011, 22:21) *

Тогда почему люки водостоков прямоугольные, а не круглые?

IPB Image

Автор: nikelong Nov 2 2011, 15:20


Ніке, в нас з тобою якась різниця в термінології.
Як людина може дивитися прямо на ребро і бачити 2 сторони???


Эээ...вот так:

Автор: x3mEn Nov 2 2011, 17:18

nikelong, питання було про ймовірність.
Яка ймовірність, що людина бачить 3 сторони?

(Rilian @ Nov 2 2011, 09:53) *

(x3mEn @ Nov 1 2011, 23:42) *

Із точки А в точку В одночасно рушають дівчина, хлопець і їхній пес.
Дівчина рухається зі швидкістю 3 км/год, хлопець - 5 км/год, пес - 7 км/год
До того ж пес весь час бігає від хлопця до дівчини і назад.
У напрямку до кого буде повернутий головою пес через півгодини після початку руху?

в направлении мальчика

відповідь не правильна.

Автор: Rilian Nov 2 2011, 17:31

QUOTE(x3mEn @ Nov 2 2011, 17:18) *

nikelong, питання було про ймовірність.
Яка ймовірність, що людина бачить 3 сторони?

QUOTE(Rilian @ Nov 2 2011, 09:53) *

QUOTE(x3mEn @ Nov 1 2011, 23:42) *

Із точки А в точку В одночасно рушають дівчина, хлопець і їхній пес.
Дівчина рухається зі швидкістю 3 км/год, хлопець - 5 км/год, пес - 7 км/год
До того ж пес весь час бігає від хлопця до дівчини і назад.
У напрямку до кого буде повернутий головою пес через півгодини після початку руху?

в направлении мальчика

відповідь не правильна.

а собака говорит обратное
IPB Image

Автор: nikelong Nov 2 2011, 17:53

(x3mEn @ Nov 2 2011, 17:18) *

nikelong, питання було про ймовірність.
Яка ймовірність, що людина бачить 3 сторони?

Блин. 50%: или видит, или нет smile.gif
Ну а если серьезно, то в 5 положениях из 360 градусов круга он видит 2 стороны, во всех остальных случаях - три. Т.е. вероятность что он видит 3 стороны приближается к 100%

Как точно посчитать? Незнаю smile.gif Но в формуле точно будет присутствовать число "ПИ" и упоминаться 5 положений при которых он видит только две стороны.

Автор: Alexis Kravtchenko Nov 2 2011, 17:53

Ладно, а если я скажу, что задача с собакой не имеет решения... - Ответ правильный??

rilian.gif
Как аргументация рассмотрим обратный процесс:
Берем на расстоянии 1.5 км девушку, бегущую со скоростью 3 км/час в пункт начальный, за ней через 1 км парниша, бегущий туда же, но пошустрее(5 км/час) и где-то между ними существует собака(кличка "электрон"), смотрящая непонятно куда и мечущая между ними целых полчаса...
Соответственно через 0.5 часа они перейдут в начальное состояние...

Автор: nikelong Nov 2 2011, 17:56

в направлении мальчика

відповідь не правильна.


В направлении девочки, да, да, я угадал?

(Rilian @ Nov 2 2011, 17:31) *

а собака говорит обратное



Grammar nazi нэгодуэ и говорит что последнее слово на адвайсе - "хлопчика" а не "мальчика" ffuuuuu.png

Автор: nikelong Nov 2 2011, 18:01

(Alexis Kravtchenko @ Nov 2 2011, 17:53) *

Берем на расстоянии 1.5 км девушку, бегущую со скоростью 3 км/час в пункт начальный, за чей через 1 км парниша, бегущий туда же, но пошустрее(5 км/час) и где-то между ними существует собака(кличка "электрон"), смотрящая непонятно куда и мечущая между ними целых полчаса...
Соответственно через 0.5 часа они перейдут в начальное состояние...

Ну если заморозить ихние движения конкретно в этот момент времени, то принимая во внимание что между ними разница в километр, и что собака делает в час 7 км, то собака сделала 3,5 ходки и в данный момент смотрит в направлении девочки.
Но! В этом упрощении я знэхтував теми расстояниями, которые сделала собака за первые 29 минут 59 секунд smile.gif (кличка - "электрон - правильная")

Автор: SpellChecker Nov 2 2011, 18:27

подсказки:
1. расстояние между мальчиком и девочкой линейно и равномерно увеличивается с 0 до (Vm - Vd)*T= 1 km
2. "Идеальный пёс" не тратит времени на разворот и меняет вектор скороти мнгновенно
3. Мальчика пес догоняет со скоростью (Vm-Vp) = 2 км/ч
4. C девочкой пес сближается со скоростью (Vd+Vp) = 10 км/ч
5. Для упрощения задачи имеет смысл связать систему отсчета с движущейся девочкой

Автор: x3mEn Nov 2 2011, 18:34

(Alexis Kravtchenko @ Nov 2 2011, 17:53) *

Ладно, а если я скажу, что задача с собакой не имеет решения... - Ответ правильный??

rilian.gif
Как аргументация рассмотрим обратный процесс:
Берем на расстоянии 1.5 км девушку, бегущую со скоростью 3 км/час в пункт начальный, за ней через 1 км парниша, бегущий туда же, но пошустрее(5 км/час) и где-то между ними существует собака(кличка "электрон"), смотрящая непонятно куда и мечущая между ними целых полчаса...
Соответственно через 0.5 часа они перейдут в начальное состояние...

Угу, це правильна відповідь і правильне доведення.

Якщо уявити весь процес у зворотньому напрямку,
хлопець знаходиться на відстані 2.5 км від точки А, дівчина - на відстані 1,5 км.
Де б між ними не знаходився пес у цей час і у якому б напрямку не дивився,
запустивши час у зворотньому напрямку, стан у будь-якому випадку прийде до початкового.
А значить собака через півгодини після початку рухе може знаходитись будь буде (між дівчиною і хлопцем)
Висновок - задача не має розв'язку.

Автор: x3mEn Nov 2 2011, 18:38

Щодо Пентагона, ось вам підказка:

Автор: nikelong Nov 2 2011, 18:42

Висновок - задача не має розв'язку.

Эээ, дык принимаем шо в момент старта все трое смотрят в одну и ту же сторону - в сторону точки Бэ. А уже потом собака начинает метаться на том миллиметровом расстоянии между девочкой и мальчиком через 0,001 секунду после старта...

Автор: SpellChecker Nov 2 2011, 18:45

QUOTE(Alexis Kravtchenko @ Nov 2 2011, 18:37) *

QUOTE(SpellChecker @ Nov 2 2011, 18:27) *
подсказки:
Что-то не вижу как эти "подсказки" отменяют мой ответ, что пёс может быть где угодно и смортеть тоже куда душа пожелает...
Они не отменяют, они подсказывают, что конечное положение собаки зависит от первоначальной траектории ёё движения при t->0. Именно это определяет местоположение собаки между девочкой и мальчиком в конце. И именно там (t->0) идеальная собака будет находится в "неопределенном" направлении, т.к. расстояние между девочкой и мальчиком = 0
Ну, я, по крайней мере, так пришел к решению. smile.gif

Автор: Alexis Kravtchenko Nov 2 2011, 18:57

Сорри, я тут удалённо... Ээээ ... не успеваю за Вами...

Автор: x3mEn Nov 2 2011, 19:52

Щодо Пентагона:
Незважаючи на те, що білі області здаються набагато більшими за зелені,
при віддалені від Пентагону відношення довжин дуг, що проходять по зеленим секторам (з яких видно 3 сторони), до довжини кола прямує до 1/2 зліва.
Тому і тут Alexis Kravtchenko був правий.

Автор: fram Feb 29 2012, 22:33

либо 25% ибо дважды повторяется, либо 50%, ибо 25%*2=50....оО Вот такая логика у двоешника...башорг отдыхает..но это действительно то, что первое пришло в голову

(x3mEn @ Nov 1 2011, 21:14) *

Чому каналізаційні люки роблять круглими, а не, наприклад, квадратними?



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

(tiss @ Nov 1 2011, 22:21) *

(Death @ Nov 1 2011, 22:20) *

круглій не проваливается )))


Тогда почему люки водостоков прямоугольные, а не круглые?



Чтоб водоворотов не было icon_trollface.png на самом деле площадь больше по периметру для слива.
хотя они и круглыми бывают.

Автор: x3mEn May 28 2012, 20:28

Написати на SQL запит, що поверне добуток всіх чисел із колонки N NUMBER в табличці T

Автор: Rilian May 28 2012, 20:33

QUOTE(x3mEn @ May 28 2012, 21:28) *

Написати на SQL запит, що поверне добуток всіх чисел із колонки N NUMBER в табличці T

SELECT exp(sum(log(N))) from T icon_trollface.png

Автор: x3mEn May 28 2012, 20:49

Rilian,

SELECT exp(sum(ln(N)))
FROM (select 0 as N from dual connect by rownum < 100) T
ORA-01428: argument '0' is out of range

Автор: Rilian May 28 2012, 20:58

x3mEn, when then end

Автор: x3mEn May 28 2012, 21:05

Rilian, точніше?

Автор: Rilian May 28 2012, 22:39

x3mEn,

используй WHEN value=0 THEN 0 ELSE function-results END выражения в своей среде разработки

Автор: x3mEn May 28 2012, 23:03

Rilian, так куди його вставити?
ти ж напиши SQL, задача ж конкретна.
без всяких курсорів і т.п.
Тупо SQL.

Автор: Rilian May 29 2012, 08:33

10 SELECT
20 CASE N
30 WHEN 0 THEN 0
40 ELSE exp(sum(log(N)))
50 END
60 FROM T

Автор: x3mEn May 29 2012, 08:41

Rilian,
ORA-00909: invalid number of arguments

У варіанті
SELECT
CASE
WHEN N = 0 THEN 0
ELSE exp(sum(ln(N)))
END
FROM T

ORA-00937: not a single-group group function


Автор: Rilian May 29 2012, 08:44

SELECT
CASE
WHEN N = 0 THEN 0
ELSE exp(sum(ln(N)))
AS x3men
END
FROM T
group by x3men
order by 1

Автор: x3mEn May 29 2012, 08:46

Rilian,

SELECT
CASE
WHEN N = 0 THEN 0
ELSE exp(sum(ln(N)))
AS x3men
END
FROM (select 0 as N from dual connect by rownum < 100) T
group by x3men
order by 1

ORA-00905: missing keyword

SELECT
CASE
WHEN N = 0 THEN 0
ELSE exp(sum(ln(N)))
END AS x3men
FROM (select 0 as N from dual connect by rownum < 100) T
group by x3men
order by 1

ORA-00904: "X3MEN": invalid identifier

SELECT
CASE
WHEN N = 0 THEN 0
ELSE exp(sum(ln(N)))
END AS x3men
FROM (select 0 as N from dual connect by rownum < 100) T
group by
CASE
WHEN N = 0 THEN 0
ELSE exp(sum(ln(N)))
END
order by 1

ORA-00934: group function is not allowed here

Автор: Rilian May 29 2012, 08:52

x3mEn, почитай в каких случаях и к чему применяется группировка

Автор: x3mEn May 29 2012, 09:05

Rilian,
в мене є готовий запит, який я готовий запустити на будь-якій табличці з полем NUMBER,
тому це ти читай, у яких випадках і до чого використовується группова функція.

Ідея з EXP(SUM(LN(N))) правильна, але її треба розвинути, щоб обійти обмеження функції LN()

Автор: Rilian May 29 2012, 10:12

x3mEn, CASE 1111111111

Автор: x3mEn May 29 2012, 11:51

Rilian,
ти точно на керівника мітиш.
Тільки керівник буде кричати "Це ж очевидно, дебілexcl.gif"
А програміст просто візьме і напише робочий(!) SQL.

Автор: nikelong May 29 2012, 11:52

(x3mEn @ May 29 2012, 12:51) *

Rilian,
ти точно на керівника мітиш.
Тільки керівник буде кричати "Це ж очевидно, дебілexcl.gif"
А програміст просто візьме і напише робочий(!) SQL.


Аццки плюсую! icon_trollface.png

Автор: x3mEn May 29 2012, 13:18

Коротше, кому цікаво, ось мій варіант реалізації:

SELECT
MIN(CASE WHEN N=0 THEN 0 ELSE 1 END) *
EXP(SUM(LN(CASE WHEN N=0 THEN 1 ELSE ABS(N) END))) *
(((1-MOD(SUM(CASE WHEN N<0 THEN 1 ELSE 0 END),2))*2)-1) AS P
FROM T


Єдине, чого немає, це перевірки на переповнення.
Але то зайве. Зрозуміло, що якщо комусь треба порахувати добуток всіх чисел у стовпчику,
результат має бути такий, щоб його можна було показати.

Якщо цікаво, ось так рахується 83!

SELECT
MIN(CASE WHEN N=0 THEN 0 ELSE 1 END) *
EXP(SUM(LN(CASE WHEN N=0 THEN 1 ELSE ABS(N) END))) *
(((1-MOD(SUM(CASE WHEN N<0 THEN 1 ELSE 0 END),2))*2)-1) AS P
FROM (select rownum as N from dual connect by rownum<=83) T


P = 3,94552396972066E124

Це максимум. 84! вже викликає
ORA-01426: numeric overflow

А ось приклад добутку і додатніх і від'ємних чисел:

SELECT
MIN(CASE WHEN N=0 THEN 0 ELSE 1 END) *
EXP(SUM(LN(CASE WHEN N=0 THEN 1 ELSE ABS(N) END))) *
(((1-MOD(SUM(CASE WHEN N<0 THEN 1 ELSE 0 END),2))*2)-1) AS P
FROM (select rownum-47.5 as N from dual connect by rownum<=98) T


P = -2,5948321048549E123

А ось приклад добутку ряду, в якому є 0:

SELECT
MIN(CASE WHEN N=0 THEN 0 ELSE 1 END) *
EXP(SUM(LN(CASE WHEN N=0 THEN 1 ELSE ABS(N) END))) *
(((1-MOD(SUM(CASE WHEN N<0 THEN 1 ELSE 0 END),2))*2)-1) AS P
FROM (select rownum-45 as N from dual connect by rownum<=98) T


P = 0

І навіть із значенням NULL все нормально рахує:

select rownum-1.5 as N from dual connect by rownum<=2
union all
select null from dual


# N
1 -0,5
2 0,5
3

SELECT
MIN(CASE WHEN N=0 THEN 0 ELSE 1 END) *
EXP(SUM(LN(CASE WHEN N=0 THEN 1 ELSE ABS(N) END))) *
(((1-MOD(SUM(CASE WHEN N<0 THEN 1 ELSE 0 END),2))*2)-1) AS P
FROM (select rownum-1.5 as N from dual connect by rownum<=2
union all
select null from dual) T


P = -0.25

Автор: x3mEn Jul 24 2012, 17:24

Задача з фізики.

Куля масою 7,9г на швидкості 715 м/с врізається в тіло масою 80 кг і повністю зупиняється всередині тіла.
Яку швидкість отримає тіло за ідеальних умов, якщо вся енергія кулі передається тілу без звуку і тепловиділення?

Варіант 1:
Імпульс кулі
P(к) = m(к)*v(к) = 0.0079 кг * 715 м/с = 5,6485 кг*м/с
повністю передається в тушу 80 кг (вагою кулі можна знехтувати).
v(т) = P(к) / m(т) = 5,6485 кг*м/с / 80 кг = ~ 0.07 м/c

Варіант 2:
Куля, що летить, має кінетичну енергію:
E(к) = 1/2 m(к)*v(к)^2 = 1/2 * 0.0079 кг * (715 м/с)^2 = 2019 кг*м^2/c^2 = 2019 Дж
Вся ця енергія повністю переходить в кінетичну енергію туші:
E(т) = 1/2 m(т)*v(т)^2
E(т) = E(к)
звідси v(т) = sqrt(2*E(к)/m(т)) = sqrt(50.48 м^2/c^2) = 7.1 м/с

Питання: в якому варіанті помилка і чому?

Автор: ternolex Jul 24 2012, 19:26

Як на мене, перший варіант правильніший.
Другий варіант неправильний, тому що не враховано, що у момент повної зупинки кулі кінетична енергія рівна нулеві, а у розв'язку береться до уваги лише кінетична енергія, а не потенціальна. І логічно подумати, другий результат неправдивий.
Може я і помиляюся, тому що у механіці не дуже розбираюсь, більш до електроніки знаю.

Автор: x3mEn Jul 24 2012, 19:56

(ternolex @ Jul 24 2012, 20:26) *

Другий варіант неправильний, тому що не враховано, що у момент повної зупинки кулі кінетична енергія рівна нулеві

Чому? саме це і враховується.
Енергія, що перейшла до тіла з 80 кг = - Зміна кінетичної енергії кулі
Зміна кінетичної енергії кулі = Кінетична енергія кулі після зіткнення - Кінетична енергія кулі до зіткнення.
Кінетична енергія кулі = маса кулі * квадрат швидкості кулі / 2.

Якщо хочеш, можна врахувати і той факт, що швидкість кулі після зіткнення не дорівнює 0, а рівна зі швидкістю тіла, але це суті не змінить:
Кінетична енергія системи до зіткнення: m(k)v(k)v(k)/2 + m(t)*0*0/2
Кінетична енергія системи після зіткнення: m(k)v(t)v(t)/2 + m(t)v(t)v(t)/2
За законом збереженння енергії, кінетична енергія системи після зіткнення = кінетичній енергії системи до зіткнення:
m(k)v(t)v(t)/2 + m(t)v(t)v(t)/2 = m(k)v(k)v(k)/2 + m(t)*0*0/2
v(t)v(t)(m(k)+m(t)) = m(k)v(k)v(k)
v(t) = v(k) sqrt(m(k) / (m(t) + m(k))) = 715 * sqrt(0.0079 / (80 + 0.0079)) = 715 * 0.0099368 = 7.10482 м/с
Результат особливо не змінився.

а у розв'язку береться до уваги лише кінетична енергія, а не потенціальна.

а потенційна енергія не змінилася ані в кулі, ані в тіла, адже куля і тіло залишилися на тій самій висоті, що і були до зіткнення.

Автор: ternolex Jul 24 2012, 20:34

Воно й не дивно, що я з 1 семестру фізики мав трійку))
Може якусь оптику або ядерну фізику пригадати?

Автор: Rilian Jul 24 2012, 22:03

я думаю в идеальных условиях трением и гравитацией можно принебречь поэтому голосую за то что тело будет двигаться со скоростью 7 метров/сек

Автор: x3mEn Jul 24 2012, 23:02


хто там казав про 7 см на секунду?

Автор: Khvastov Maxim Jul 25 2012, 10:34

Первый вариант верный (как я и говорилsmile.gif) Это ж неупругое соударение huh1.gif

Где v это общая скорость тел, полученная после удара, ma - масса первого тела, ua - скорость первого тела до соударения. mb - масса второго тела, ub -скорость второго тела до соударения. Важно - импульсы являются величинами векторными, поэтому складываются только векторно.
Итого: (0.0079* 715+80*0)/80.0079 ≈ 0.07 м/c
Как и при любом ударе, при этом выполняются закон сохранения импульса и закон сохранения момента импульса, но не выполняется закон сохранения механической энергии. Часть кинетической энергии соудареямых тел, в результате неупругих деформаций переходит в тепловую.
http://ru.wikipedia.org/wiki/%D0%A3%D0%B4%D0%B0%D1%80

Автор: Death Jul 25 2012, 10:56

x3 это если я не ошибаюсь какой-то экзотический слонобой.
там пороха грамм 30 и пуля грамм 40

Автор: x3mEn Jul 25 2012, 13:00

Khvastov Maxim,
молодець, тягни щоденник.
Правильна відповідь: удар не може бути абсолютно пружнім, якщо куля застрягла у тілі. Щоб куля зупинилась у тілі, частина механічної енергії має перейти в теплову за рахунок тертя. Значить закон збереження механічної енергії у данному випадку не виконується. Виконується тільки закон збереження імпульсу.

Автор: ternolex Jul 25 2012, 19:43

Трохи запізно,але всерівно знайшов ще один спосіб( ну може він і не чисто фізичний).
1. Ділимо масу кулі на масу тушки і взнаємо безрозмірний коефіцієнт: 7.9 г /80000 г =0.00009875;
2. Домножуємо швидкість на цей коефіцієнт і отримуємо результат: 715 м/с * 0.00009875= 0.07 м/с! icon_trollface.png

Автор: nikelong Jul 30 2012, 17:53

IPB Image

Нужно убрать всего лишь один пиксель, чтобы равенство стало верным.

(Show/Hide)

У последней единицы надо убрать точку так, чтобы получился восклицательный знак (!). Тогда выйдет «7 факториал», что равно 72*70.

Автор: Waterfall Aug 3 2012, 13:00

(nikelong @ Jul 30 2012, 18:53) *



Нужно убрать всего лишь один пиксель, чтобы равенство стало верным.

(Show/Hide)

У последней единицы надо убрать точку так, чтобы получился восклицательный знак (!). Тогда выйдет «7 факториал», что равно 72*70.



Після знаку "дорівнює", в сумі, повинно бути не 71, а 7! , тобто - 7 факторіал!
Якщо в загальному вигляді знаходження факторіала це n! = 1 · 2 · 3 · 4 · ... · (n - 2) · (n - 1) · n
то в нашому 7! = 1 · 2 · 3 · 4 · 5 · 6 · 7 = 5040
Перевірка з нашого рівняння: 72 · 70 = 5040
Таким чином, прибираємо другий знизу піксель в "одиниці" результату! tongue.gif

Автор: LSA Sep 19 2012, 13:25

http://durdom.in.ua/public/main/photos/photo_34188.jpg
ось вам задача

Автор: x3mEn Sep 10 2013, 14:07

Задача для знавців SQL.

Колись була така передача "Звёздный час".
Там була гра, давалося слово, із літер цього слова треба було на час скласти як можна більше інших слів.

Зараз є варіації на цю тему, наприклад https://play.google.com/store/apps/details?id=com.intriga_games.guessthewords
Якось мені стало цікаво, як можна було б знайти всі слова, які можна утворити із заданого, якщо в мене є словник усіх допустимих слів.

А тепер задача:
Є таблиця виду

create table WORDS
(
  WORD VARCHAR2(40)
);


Треба написати SQL, яким із таблиці WORDS вибираються всі відмінні від заданого слова, які можна утворити із літер даного.

Наприклад, якщо дадено слово ОСТРОВ, з нього можно утворити наступні слова:
ОР
ВОР
РОВ
РОТ
СОР
ТОР
ВОРС
ОСОТ
РОСТ
СОРТ
ТОРС
ТРОС
ВОРОТ
ОСТОВ
СТВОР

Коли я це завдання дав своїм знайомим, як не дивно, у них воно викликало ступор.
А вам слабо написати SQL? wink.gif
Процедури не приймаються, тільки чистий select

Автор: Rilian Sep 10 2013, 14:20



WITH RECURSIVE xtab AS (
WITH no_cte AS (
SELECT
1::int AS len
, idx as idx
, substring ( 'ОСТРОВ' FROM idx FOR 1) as str
FROM generate_series(1, char_length( 'ОСТРОВ' )) idx
)
SELECT t0.len as len
, t0.idx
, t0.str
FROM no_cte t0
UNION SELECT 1+t1.len
, tc.idx
, t1.str || tc.str AS str
FROM xtab t1
JOIN no_cte tc ON tc.idx > t1.idx
)
SELECT * FROM xtab
WHERE EXISTS (SELECT * FROM words WHERE word = str)

Автор: x3mEn Sep 10 2013, 14:33

generate_series - це, вибачаюсь, який стандарт SQL?
взагалі-то задача написати SQL в стандарті ну хоча б SQL:2008

SQL Server 2008?
http://www.spatialdbadvisor.com/sql_server_blog/86/www.spatialdbadvisor.com

Є набагато простіше рішення, без generate_series.
Та я і не впевнений, що наведене рішення працює правильно.
Бо не зміг привести його до стандарту SQL, щоб перевірити

Автор: A1ex01 Sep 10 2013, 14:52

та давай сразу свой вариант, а кто сможет выложит лучше)

Автор: x3mEn Sep 10 2013, 15:01

ну ок, даю:

select * from words
where upper('&word') = '&word'
  and word <> '&word'
  and length(word) <= length('&word')
  and
    case
      when length(word) >= 1
        then length('&word') - length(replace('&word', substr(word,1,1))) - length(word) + length(replace(word, substr(word,1,1)))
      else 1
    end >=0
  and
    case
      when length(word) >= 2
        then length('&word') - length(replace('&word', substr(word,2,1))) - length(word) + length(replace(word, substr(word,2,1)))
      else 1
    end >=0    
  and
    case
      when length(word) >= 3
        then length('&word') - length(replace('&word', substr(word,3,1))) - length(word) + length(replace(word, substr(word,3,1)))
      else 1
    end >=0    
  and
    case
      when length(word) >= 4
        then length('&word') - length(replace('&word', substr(word,4,1))) - length(word) + length(replace(word, substr(word,4,1)))
      else 1
    end >=0    
  and
    case
      when length(word) >= 5
        then length('&word') - length(replace('&word', substr(word,5,1))) - length(word) + length(replace(word, substr(word,5,1)))
      else 1
    end >=0    
  and
    case
      when length(word) >= 6
        then length('&word') - length(replace('&word', substr(word,6,1))) - length(word) + length(replace(word, substr(word,6,1)))
      else 1
    end >=0    
  and
    case
      when length(word) >= 7
        then length('&word') - length(replace('&word', substr(word,7,1))) - length(word) + length(replace(word, substr(word,7,1)))
      else 1
    end >=0    
  and
    case
      when length(word) >= 8
        then length('&word') - length(replace('&word', substr(word,8,1))) - length(word) + length(replace(word, substr(word,8,1)))
      else 1
    end >=0    
  and
    case
      when length(word) >= 9
        then length('&word') - length(replace('&word', substr(word,9,1))) - length(word) + length(replace(word, substr(word,9,1)))
      else 1
    end >=0    
  and
    case
      when length(word) >= 10
        then length('&word') - length(replace('&word', substr(word,10,1))) - length(word) + length(replace(word, substr(word,10,1)))
      else 1
    end >=0    
order by length(word), word;

Таким скриптом вибираються всі слова з обмеженням, що вхідне слово не більше 10 символів.
Якщо треба більше - домальовується ще N аналогічних конструкцій через and.
Просто мені було достатньо 10.
Можливо не зовсім і естетично, зате швидкодія майже не залежить від довжини слова.
Я думаю, що на довжині слова овер 16 літер рекурсія загнеться.
Можу поділитися словничком в 52 тисячі слів, на якому я тренувався.

Автор: x3mEn Sep 10 2013, 15:10

А от і словничок.


Приєднані файл(и)
Приєднаний файл  words.zip ( 275.72Кб ) Кількість викачувань: 171

Автор: x3mEn Sep 10 2013, 15:21

перевірка на слові НИКОТИНАМИДАДЕНИНДИНУКЛЕОТИДФОСФАТГИДРИН (40 символів)

5614 rows selected in 1,517 seconds

Автор: Rilian Sep 10 2013, 16:07

x3mEn, postgres

вариант с if это говнокод smile.gif если можно юзать if то тогда уже и like надо заюзать

Автор: Death Sep 10 2013, 16:25

а перевірка на слові АБВГДЕЄЖЗ.........Я что даст?

Автор: Rilian Sep 10 2013, 16:26

QUOTE(Death @ Sep 10 2013, 17:25) *

а перевірка на слові АБВГДЕЄЖЗ.........Я что даст?

даст частичную выборку из словаря, ибо большая часть слов использует повторы букв

Автор: x3mEn Sep 10 2013, 16:29

Rilian, PostgreSQL не у всьому відповідає стандарту SQL, скажімо так, свій власний діалект SQL.
На інших СУБД твій чудокод не запускається.
А мій запит принаймні на твоїй PostgreSQL має працювати.
Або буде працювати після невеличкої адаптації, я бачу що у substr і length в PostgreSQL свій синтаксис.

Щодо говнокоду не зрозумів. Хочеш, юзай like, це не заборонено.
Спробуй залий в базєйку табличку і тестани на 40-символьному слові.
Покажи час виконання і результат (кількість слів) на слові НИКОТИНАМИДАДЕНИНДИНУКЛЕОТИДФОСФАТГИДРИН,
тоді можна щось буде вирішити, що із написано говнокод, а що геніальний чудокод.

(Death @ Sep 10 2013, 17:25) *

а перевірка на слові АБВГДЕЄЖЗ.........Я что даст?

АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ

13816 rows selected

Найдовші слова:
ГЕМОТРАНСФУЗИЯ
ЗВУКОСНИМАТЕЛЬ
ПОДХЛЁСТЫВАНИЕ
РАЗГИЛЬДЯЙСТВО
ЧЕТЫРЁХПОЛЮСНИК
ЧЕТЫРЁХУГОЛЬНИК

Щоправда в мене словничок з обмеженням слова в 15 символів максимум.
Просто в грі Ерудит максимальна довжина слова 15, тому сенсу ще довші слова пхати не було.

Автор: Rilian Sep 10 2013, 16:40

x3mEn, сорри за троллинг, но вы в COMPANY_NAME пишете программу для платной подписки абонентов на "эрудит" ?

Автор: x3mEn Sep 10 2013, 16:47

Не палимось, не палимось... ph34r2.gif

В дійсності я цей скрипт придумав в одну з безсонних ночей, коли був дома, а не на роботі, так що це моя інтелектуальна власність, а не COMPANY_NAME. awesome.png

Автор: A1ex01 Sep 10 2013, 17:08

(x3mEn @ Sep 10 2013, 17:29) *

Покажи час виконання і результат (кількість слів) на слові НИКОТИНАМИДАДЕНИНДИНУКЛЕОТИДФОСФАТГИДРИН,
тоді можна щось буде вирішити, що із написано говнокод, а що геніальний чудокод.

+1, Rilian, время выполнения твоей версии давай

Автор: x3mEn Sep 10 2013, 18:15

%USER_NAME%, це ти правильно зробив, що поміняв %COMPANY_NAME% на %COMPANY_NAME% )

Автор: Rilian Jan 22 2014, 17:40

фракталы на SQL

http://explainextended.com/2013/12/31/happy-new-year-5/

Invision Power Board
© Invision Power Services