Версія даної теми для друку
Розподілені обчислення в Україні _ Наука _ Это реальная задача по теории вероятностей!
Автор: 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
я голосую за А)
Автор: tribal Oct 28 2011, 15:51
по идее 50 %
Автор: london2004 Oct 28 2011, 17:37
B - 50%
Потому что есть 2 по 25%
Кто-нибудь, скажите обоснованный правильный ответ
Автор: SpellChecker Oct 28 2011, 18:20
Правильный ответ: Stack overflow
(Show/Hide)
Правильный ответ: 0%, т.к. любоый выбранный ответ из предложенных будет неверным! А значит и вероятность выбора правильного - нулевая"
Автор: tyoma Oct 28 2011, 19:32
Задача некоректна блин же. Мало вводных данных ), чесс слово.
Автор: nikelong Oct 28 2011, 19:57
Ну так что, кто даст развернутый ответ?
Я могу обосновать свой вариант "Бэ". В этом случае вероятность того что я дал правильный ответ - 50%: или прав, или неправ
Автор: 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% ОЛОЛО
Ответ очень прост - у вас не спрашивается, какой из вариантов ответа верный. Дальше продолжать или вывод сделаете сами?
Автор: 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, я ж не говорил, что здесь нужен x3mEn с переводчиком, здесь нужен x3mEn с кулькулятором. Ведь он у нас спец по всей этой математике.
Автор: mzhelo Oct 28 2011, 23:12
QUOTE(Bel @ Oct 29 2011, 00:07)
mzhelo, я ж не говорил, что здесь нужен x3mEn с переводчиком, здесь нужен x3mEn с кулькулятором. Ведь он у нас спец по всей этой математике.
В условии задачи также не написано, что только
x3mEn спец по математике.
Автор: Death Oct 28 2011, 23:12
mzhelo, все проигнорировали. )) обсуждать интересней )))
Автор: A1ex01 Oct 28 2011, 23:15
если верного ответа нет в списке-0%
если один-25%
2-50%
3-75%
4-100%
Автор: mzhelo Oct 28 2011, 23:19
QUOTE(Death @ Oct 29 2011, 00:12)
mzhelo, все проигнорировали. )) обсуждать интересней )))
Автор: x3mEn Oct 28 2011, 23:20
Я згоден з mzhelo, chance = 0.
Автор: mzhelo Oct 28 2011, 23:25
Люди, найдите кто-нибудь задачу про парня, который ездил на метро к двоим своим девушкам. Пообсуждаем.
Автор: SpellChecker Oct 30 2011, 13:22
а в спойлер в моем посте никто так и не заглянул ?!?
Автор: 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 минуты после поезда на бронкс.
Тут бы надо пояснить, что 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 минуты после поезда на бронкс.
следующий.
В этом случае сиськи были бы больше у девушки из Бронкса
Автор: 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% в направлении мальчика
Жарт, згоден з nikelong
+
Якщо відстань від спостерігача до центру пентагону менша за R/sin(18 град), то він не побачить три сторони(тільки 2 чи одну). А далі асимптотично до 50% :
Подовжити сторони --> 10 "секторів" , 5 "вузьких" з них по 36 град( 360 / 5 = 72, (90 - 72) * 2 = 36 )
36 * 5 / 360 = 0.5
Якщо відомо радіус(я брав вписаний) Пентагону та відстань від спостерігача до його центру, то можна точно обчислити ймовірність...
Моя відповідь - менше 50 %
Автор: 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 сторони???
QUOTE(x3mEn @ Nov 1 2011, 21:14)
Чому каналізаційні люки роблять круглими, а не, наприклад, квадратними?
QUOTE(tiss @ Nov 1 2011, 22:21)
Тогда почему люки водостоков прямоугольные, а не круглые?
Автор: 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 км/год
До того ж пес весь час бігає від хлопця до дівчини і назад.
У напрямку до кого буде повернутий головою пес через півгодини після початку руху?
в направлении мальчика
відповідь не правильна.
а собака говорит обратное
Автор: nikelong Nov 2 2011, 17:53
(x3mEn @ Nov 2 2011, 17:18)
nikelong, питання було про ймовірність.
Яка ймовірність, що людина бачить 3 сторони?
Блин. 50%: или видит, или нет
Ну а если серьезно, то в 5 положениях из 360 градусов круга он видит 2 стороны, во всех остальных случаях - три. Т.е. вероятность что он видит 3 стороны приближается к 100%
Как точно посчитать? Незнаю
Но в формуле точно будет присутствовать число "ПИ" и упоминаться 5 положений при которых он видит только две стороны.
Автор: Alexis Kravtchenko Nov 2 2011, 17:53
Ладно, а если я скажу, что задача с собакой не имеет решения... - Ответ правильный??
Как аргументация рассмотрим обратный процесс:
Берем на расстоянии 1.5 км девушку, бегущую со скоростью 3 км/час в пункт начальный, за ней через 1 км парниша, бегущий туда же, но пошустрее(5 км/час) и где-то между ними существует собака(кличка "электрон"), смотрящая непонятно куда и мечущая между ними целых полчаса...
Соответственно через 0.5 часа они перейдут в начальное состояние...
Автор: nikelong Nov 2 2011, 17:56
в направлении мальчика
відповідь не правильна.
В направлении девочки, да, да, я угадал?
(Rilian @ Nov 2 2011, 17:31)
а собака говорит обратное
Grammar nazi нэгодуэ и говорит что последнее слово на адвайсе - "хлопчика" а не "мальчика"
Автор: 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 секунд
(кличка - "электрон - правильная")
Автор: 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)
Ладно, а если я скажу, что задача с собакой не имеет решения... - Ответ правильный??
Как аргументация рассмотрим обратный процесс:
Берем на расстоянии 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
Ну, я, по крайней мере, так пришел к решению.
Автор: 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)
круглій не проваливается )))
Тогда почему люки водостоков прямоугольные, а не круглые?
Чтоб водоворотов не было
на самом деле площадь больше по периметру для слива.
хотя они и круглыми бывают.
Автор: 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
Автор: 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,
ти точно на керівника мітиш.
Тільки керівник буде кричати "Це ж очевидно, дебіл"
А програміст просто візьме і напише робочий(!) SQL.
Автор: nikelong May 29 2012, 11:52
(x3mEn @ May 29 2012, 12:51)
Rilian, ти точно на керівника мітиш.
Тільки керівник буде кричати "Це ж очевидно, дебіл
"
А програміст просто візьме і напише робочий(!) SQL.
Аццки плюсую!
Автор: 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 метров/сек
Автор: 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 м/с!
Автор: nikelong Jul 30 2012, 17:53
Нужно убрать всего лишь один пиксель, чтобы равенство стало верным.
(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
Таким чином, прибираємо другий знизу піксель в "одиниці" результату!
Автор: 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?
Процедури не приймаються, тільки чистий 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Кб )
Кількість викачувань: 179
Автор: x3mEn Sep 10 2013, 15:21
перевірка на слові НИКОТИНАМИДАДЕНИНДИНУКЛЕОТИДФОСФАТГИДРИН (40 символів)
5614 rows selected in 1,517 seconds
Автор: Rilian Sep 10 2013, 16:07
x3mEn, postgres
вариант с if это говнокод если можно юзать 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
Не палимось, не палимось...
В дійсності я цей скрипт придумав в одну з безсонних ночей, коли був дома, а не на роботі, так що це моя інтелектуальна власність, а не COMPANY_NAME.
Автор: 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