Форум: "Потрепаться";
Текущий архив: 2005.10.09;
Скачать: [xml.tar.bz2];
ВнизПятничные задачки. Разомнем извилины. Найти похожие ветки
← →
MBo © (2005-09-16 07:35) [0]1. Какой процент поверхности Земли виден космонавту с орбиты высотой 360 км? (Rз~6371 км)
2. В квадрат со стороной 1 вписан круг. В оставшееся место в левом верхнем уголке
вписан еще один кружок. В оставшееся слева-вверху место - следующий и так далее до
бесконечности. Какова суммарная площадь и периметр кругов?
3. Сумма цифр десятичной записи числа 4444^4444 равна A.
Сумма цифр числа А равна B. Найти сумму цифр числа B.
4. Найти три последние цифры числа 7^9999.
5. Как расположить в углу комнаты две ширмы метровой длины,
чтобы отгородить наибольшую площадь?
6. В комнату внесли два плотных снежка, один по диаметру вдвое больше другого.
Какая часть объема меньшего снежка останется, когда растает половина объема большого?
7. Какова сумма всех цифр, использованных при десятичной записи чисел от единицы
до миллиарда?
8. Муравей находится в начале координат на плоскости. Каждую секунду он случайным
образом переползает на единицу в одном из направлений вправо-влево и одновременно
вверх или вниз (т.е. по диагоналям единичных квадратов)
Какова вероятность того, что он вернется в начальную точку?
Отличается ли подобная вероятность для трехмерного случая?
9. Какой толщины (относительно диаметра) должна быть монета, чтобы вероятность падения на ребро была 1/3?
(Плоскость падения считать липкой, т.е. монета не подпрыгивает)
10. Три студента A,B,C проходят серию тестов. За первое место в тесте
дается N очков, за второе M, за третье - L (M,N,L - натуральные числа).
За все тесты А набрал 20 очков, B -10 очков, C - 9 очков.
А был вторым в тесте по алгебре. Кто был вторым по геометрии?
11. Нетрудно написать процедуру для генерации равномерно распределенных
в прямоугольнике случайных точек.
А вот как сделать то же самое для круга, треугольника и произвольного выпуклого
четырехугольника?
← →
Ega23 © (2005-09-16 09:37) [1]5. Как расположить в углу комнаты две ширмы метровой длины,
чтобы отгородить наибольшую площадь?
Если угол комнаты - прямой, то - квадратом.
← →
SergP. (2005-09-16 09:38) [2]
> 4. Найти три последние цифры числа 7^9999.
143
три последние цифры числа 7^9999 равны трем последним цифрам числа 7^(9999 mod 20) т.е. трем последним цифрам числа 7^19
← →
Ega23 © (2005-09-16 09:39) [3]10.
А тестов всего было два?
← →
Версия первая (2005-09-16 09:40) [4]3. 4
4. ...000
5. imho для углов между ширмами от Pi/2 до Pi площадь будет равна 2кв.м - для других углов меньше.
← →
Bless © (2005-09-16 09:46) [5]>SergP. (16.09.05 09:38) [2]
Не успел :)
А как определил, что через каждые 20 степеней последние три цифры повторяются. Я калькулятором. Спрашиваю, потому что любопытно, а вдруг можно и без него обойтись.
← →
КаПиБаРа © (2005-09-16 09:46) [6]MBo © (16.09.05 7:35)
1. 0,8516 %
← →
MBo © (2005-09-16 09:50) [7]>Ega23 © (16.09.05 09:37) [1]
>5. квадратом.
Нет
>SergP. (16.09.05 09:38) [2]
>143
>три последние цифры числа 7^9999 равны трем последним цифрам числа 7^(9999 mod 20) т.е. трем последним цифрам числа 7^19
А если не пользоваться вычислением настолько большого числа, как 7^19?
(в принципе достаточно использовать несколько первых степеней семерки)
>Ega23 © (16.09.05 09:39) [3]
>10. А тестов всего было два?
Это в условии не оговаривается.
>Версия первая (16.09.05 09:40) [4]
все неверно
← →
MBo © (2005-09-16 09:51) [8]>Bless © (16.09.05 09:46) [5]
Да, можно без калькулятора.
← →
MBo © (2005-09-16 09:54) [9]>КаПиБаРа © (16.09.05 09:46) [6]
>1. 0,8516 %
Нет
← →
Ega23 © (2005-09-16 09:54) [10]>Ega23 © (16.09.05 09:37) [1]
>5. квадратом.
Нет
Тьфу-ты. Треугольник с гипотенузой 2 м и углами 90 и 2 по 45.
← →
Ega23 © (2005-09-16 09:54) [11]>Ega23 © (16.09.05 09:37) [1]
>5. квадратом.
Нет
Тьфу-ты. Треугольник с гипотенузой 2 м и углами 90 и 2 по 45.
← →
SergP. (2005-09-16 09:55) [12]
> Если угол комнаты - прямой, то - квадратом.
У меня получается что если относительно стены то под углом arccos(sqrt(1/2-sqrt(2)/4)) , а это что-то около 81 градуса
← →
КаПиБаРа © (2005-09-16 10:00) [13]КаПиБаРа © (16.09.05 9:46) [6]
Ошибся
~ 5,229 %
← →
КаПиБаРа © (2005-09-16 10:02) [14]КаПиБаРа © (16.09.05 10:00) [13]
Блин на 2 не умножил :(
10,4575... %
← →
Antonn © (2005-09-16 10:36) [15]MBo © (16.09.05 7:35)
1. Какой процент поверхности Земли виден космонавту с орбиты высотой 360 км? (Rз~6371 км)
4,47%
← →
Jeer © (2005-09-16 11:13) [16]
> 1. Какой процент поверхности Земли виден космонавту с орбиты
> высотой 360 км? (Rз~6371 км)
0.5*H/(R+H)
← →
КаПиБаРа © (2005-09-16 11:28) [17]Jeer © (16.09.05 11:13) [16]
А почему в формуле не учитывается, что земля круглая?
← →
Ji © (2005-09-16 11:40) [18]9. Должна быть равна диаметру
← →
esu © (2005-09-16 11:45) [19]
> Jeer © (16.09.05 11:13) [16]
> А почему в формуле не учитывается, что земля круглая?
А она не круглая )
← →
КаПиБаРа © (2005-09-16 11:56) [20]esu © (16.09.05 11:45) [19]
А она не круглая )
Это тоже не учитывается
← →
Antonn © (2005-09-16 12:11) [21]MBo © (16.09.05 7:35)
5. Как расположить в углу комнаты две ширмы метровой длины,
чтобы отгородить наибольшую площадь?
"четверть-кругом" :) т.е. по линии четверти окружности.
вроде ее прощадь будет 1,2 метра
← →
MBo © (2005-09-16 12:22) [22]Почти все ответы неверные :(
Про ширмы - помимо длинного алгебраического решения с поиском максимума есть изящное геометрическое, в некотором роде использующее симметрию.
← →
palva © (2005-09-16 12:26) [23]8. Вроде нас учили на теорвере, что вероятность возвращения при случайном блуждании по плоскости - единица, а в трехмерном случае - примерно равна 0.35. Только это все излагается в учебниках (Феллер т. 1) в качестве теорем. (Теорема Пойа)
← →
MBo © (2005-09-16 12:36) [24]>palva © (16.09.05 12:26) [23]
У Феллера (не читал, ссылку только видел) для трехмерного случая подобная задача, только по ребрам кубов путь проходит, а не по главным диагоналям, т.е. 6 путей вместо 8 в данной. Для 6 путей - да, 0.35 получается.
← →
Antonn © (2005-09-16 12:53) [25]MBo © (16.09.05 12:22) [22]
пересчитал
1. 2,67%
← →
palva © (2005-09-16 12:57) [26]MBo © (16.09.05 12:36) [24]
> т.е. 6 путей вместо 8 в данной.
Да, вижу
← →
MBo © (2005-09-16 13:04) [27]>Antonn © (16.09.05 12:53) [25]
>1. 2,67%
Верно.
← →
MBo © (2005-09-16 13:05) [28]>Antonn © (16.09.05 12:53) [25]
>1. 2,67%
Верно.
← →
default © (2005-09-16 13:08) [29]10. 20+10+9=39=3*13 стало быть всего было 3 игры
принимая на веру что условие задачи корректно получаем что какой-то из игроков занял второе место и в тесте по геометрии и в каком-то другом тесте(иначе нельзя было бы ответить на вопрос задачи), рассматриваем эти варианты и находим ответ, лень пберебирать мне
← →
SergP. (2005-09-16 13:11) [30]
> MBo © (16.09.05 12:22) [22]
> Почти все ответы неверные :(
>
> Про ширмы - помимо длинного алгебраического решения с поиском
> максимума есть изящное геометрическое, в некотором роде
> использующее симметрию.
Вроде бы въехал.
ширмы должны быть основаниями равнобедренных треугольников (чтобы была наибольшая площадь), боковыми сторонами которых являются по одной стене и биссектриса угла между стенами.
Тогда угол между стеной и ширмой должен быть:
(180-45)/2=67,5 градусов
Только почему-то странно что у меня при алгебраическом решении получилось в прошлый раз в [12] arccos(sqrt(1/2-sqrt(2)/4))
← →
SergP. (2005-09-16 13:12) [31]
> MBo © (16.09.05 12:22) [22]
> Почти все ответы неверные :(
>
> Про ширмы - помимо длинного алгебраического решения с поиском
> максимума есть изящное геометрическое, в некотором роде
> использующее симметрию.
Вроде бы въехал.
ширмы должны быть основаниями равнобедренных треугольников (чтобы была наибольшая площадь), боковыми сторонами которых являются по одной стене и биссектриса угла между стенами.
Тогда угол между стеной и ширмой должен быть:
(180-45)/2=67,5 градусов
Только почему-то странно что у меня при алгебраическом решении получилось в прошлый раз в [12] arccos(sqrt(1/2-sqrt(2)/4))
← →
Antonn © (2005-09-16 13:16) [32]MBo © (16.09.05 13:04) [27]
а [21]?
← →
Думкин © (2005-09-16 13:22) [33]> default © (16.09.05 13:08) [29]
А почему не 13 игр?
← →
default © (2005-09-16 13:24) [34]Думкин © (16.09.05 13:22) [33]
минимально расхождение между двумя соседними местами есть единица
очки за место есть натуральные числа стало быть минимально возможное это 1+2+3=5>3 (не может быть сумма очков за первое, второе и третье места быть равна 3 очкам)
← →
Думкин © (2005-09-16 13:27) [35]> default © (16.09.05 13:24) [34]
Надо тогда Мво спросить:
0 - натуральное?
← →
MBo © (2005-09-16 13:27) [36]>Antonn © (16.09.05 13:16) [32]
>а [21]?
Верно там было, я же писал почти все неверные ;)
>SergP. (16.09.05 13:12) [31]
Да.
Симметричное решение, которое я имел в виду - составим вместе 4 угла, возьмем 8 ширм. Ясно, что их следует выстроить в правильный 8-угольник.
← →
default © (2005-09-16 13:28) [37]Думкин © (16.09.05 13:27) [35]
понял Вас:)
← →
MBo © (2005-09-16 13:29) [38]>Думкин © (16.09.05 13:27) [35]
>0 - натуральное?
Ну вот еще ;)
← →
Думкин © (2005-09-16 13:30) [39]> MBo © (16.09.05 13:29) [38]
Жалко. :(
← →
Думкин © (2005-09-16 13:34) [40]> default © (16.09.05 13:28) [37]
Раз 0 обидели - корректность в вере не нуждается. Если конечно, не было ничьих.
← →
default © (2005-09-16 13:34) [41]Думкин © (16.09.05 13:30) [39]
0+1+2=3:)13 тестов это улёт:)
← →
SergP. (2005-09-16 13:41) [42]7. 40500000001
Сумма цифр от 1 до 9 равна 45
В каждом разряде каждая цифра встречается 100 000 000 раз
Всего разрядов 9
Итого 40500000000 и добавим 1 (это потому что конечное число 1 000 000 000) мы не учли....
Получим 40500000001
← →
SergP. (2005-09-16 13:47) [43]7. 40500000001
Сумма цифр от 1 до 9 равна 45
В каждом разряде каждая цифра встречается 100 000 000 раз
Всего разрядов 9
Итого 40500000000 и добавим 1 (это потому что конечное число 1 000 000 000) мы не учли....
Получим 40500000001
← →
default © (2005-09-16 13:50) [44]11. первое что приходит в голову, описать прямоугольник вокруг нужной фигуры, и генерировать точки для прямоугольника, если точка не попала в фигуру, то производим генерацию точки ещё раз и тд пока она не попадёт в фигуру
← →
palva © (2005-09-16 13:53) [45]MBo © (16.09.05 12:36) [24]
> т.е. 6 путей вместо 8 в данной.
8. Что-то у меня для трехмерного случая тоже получается возврат с вероятностью единица. Странно, путей больше и, казалось, вероятность возврата должна быть меньше.
← →
SergP. (2005-09-16 13:55) [46]
> 2. В квадрат со стороной 1 вписан круг. В оставшееся место
> в левом верхнем уголке
> вписан еще один кружок. В оставшееся слева-вверху место
> - следующий и так далее до
> бесконечности. Какова суммарная площадь и периметр кругов?
>
Радиус первой окружности R1=0.5
радиус следующей R(n)=R(n-1)*(sqrt(2)-1)/(sqrt(2)+1)
Получаем геометрическую (сходящуюся) прогрессию где первый член равен Pi/4 а коэффициент равен (sqrt(2)-1)^4
Я точно не помню формулу суммы.... Так что
← →
MBo © (2005-09-16 13:57) [47]>SergP. (16.09.05 13:41) [42]
>7. 40500000001
Все верно.
Еще один путь - образуем пары
0, 999999999 // 0 не повлияет на результат
1, 999999998
...
500 миллионов пар по 81 + единица из миллиарда.
← →
Jeer © (2005-09-16 14:02) [48]КаПиБаРа © (16.09.05 11:28) [17]
MBo © (16.09.05 13:05) [28]
Antonn © (16.09.05 12:53) [25]
На Jeer © (16.09.05 11:13) [16]
S = 0.5*H/(R+H) = 0.5*360/(6371+360) = 0.0267.. (2.67..%)
:)))
← →
default © (2005-09-16 14:05) [49]10. C
← →
Igorek © (2005-09-16 14:07) [50]
> 11. Нетрудно написать процедуру для генерации равномерно
> распределенных
> в прямоугольнике случайных точек.
> А вот как сделать то же самое для круга, треугольника и
> произвольного выпуклого
> четырехугольника?
Один из вариантов:
1 охватываем фигуру прямоугольником по габаритам
2 генерим точку
3 если она не в фигуре то 2
← →
MBo © (2005-09-16 14:12) [51]>default © (16.09.05 13:50) [44]
11. первое что приходит в голову, описать прямоугольник вокруг нужной фигуры, и генерировать точки для прямоугольника, если точка не попала в фигуру, то производим генерацию точки ещё раз и тд пока она не попадёт в фигуру
Да, так можно. Этот путь в общем-то подходит для круга - пропадает всего 1-Pi/4, т.е примерно четверть случайных чисел, да и проверка на вхождения укладывается в пяток операций.
Но вот для треугольника и четырехугольника и промахов больше, и проверка существенно сложнее.
С точки зрения создания интересного алгоритма лучше считать, что генерация случайного числа - затратная операция. Для каждой точки нам дается пара случайных чисел, и потратить их надо по делу ;)
>palva © (16.09.05 13:53) [45]
>8. Что-то у меня для трехмерного случая тоже получается возврат с вероятностью единица. Странно, путей больше и, казалось, вероятность возврата должна быть меньше.
Да, вероятность возврата меньше будет. Насколько я помню, там получается сумма ряда с членами 1/n^3/2, т.е. сходящаяся
← →
MBo © (2005-09-16 14:20) [52]>Jeer © (16.09.05 14:02) [48]
>На Jeer © (16.09.05 11:13) [16]
>S = 0.5*H/(R+H) = 0.5*360/(6371+360) = 0.0267.. (2.67..%)
Пардон, не воспринял, поскольку у меня было в разностной форме (1-R/(R+h))
;))
← →
MBo © (2005-09-16 14:25) [53]default © (16.09.05 14:05) [49]
10. C
Верно.
>Igorek © (16.09.05 14:07) [50]
см. [51]
Проще всего сделать для круга, тут никаких хитростей нет.
А для треугольника нужно маленько подумать.
← →
default © (2005-09-16 14:50) [54]MBo © (16.09.05 14:25) [53]
можно взять любую точку треугольника за начала косоугольной системы координат, генерируем случайно одну координату точки на каком-то прилежащем к началу координат отрезке прямой, следущую координтату генерируем в пределах обусловленных первой координатой и отрезком прямой не прилежащем к началу координат
← →
MBo © (2005-09-16 15:02) [55]Вот тестовая система с некоей намеренно неправильной функцией генерации.
Как ее исправить в соответствии с твоим методом?
function RandPointT(const P:array of TPoint):TPoint;
var
a,b,c:Double;
begin
a:=Random;
b:=Random;
Result.X:=Round((P[0].X*a+P[1].X*(1-a)+P[0].X*b+P[2].X*(1-b)));
Result.Y:=Round((P[0].Y*a+P[1].Y*(1-a)+P[0].Y*b+P[2].Y*(1-b)));
end;
procedure TForm1.Button2Click(Sender: TObject);
var
P:array[0..2] of TPoint;
i:Integer;
RP:TPoint;
begin
Randomize;
P[0]:=Point(0,0);
P[1]:=Point(250,100);
P[2]:=Point(100,200);
Canvas.Polygon(P);
for i:=1 to 1000 do begin
RP:=RandPointT(P);
Canvas.Ellipse(RP.X,RP.Y-1,RP.X+1,RP.Y+1);
end;
end;
← →
КаПиБаРа © (2005-09-16 15:07) [56]11. Можно из центра финуры или любой произвольной точке генерировать угол и расстояние (входящее в фигуру для данного угла) в полярных координатах.
← →
Igorek © (2005-09-16 15:13) [57]> MBo © (16.09.05 14:25) [53]
> А для треугольника нужно маленько подумать.
А если взять треугольник, в одну вершину поставить начало координат, а оси - по сторонам с длинами А и Б. Генерируем точку (х, у) в прямоугольнике А на Б. Если она выше той диагонали, что не проходит через 0.0, то отзеркаливаем ее ниже диагонали. На треугольник ставим ее сумой векторов, паралельных сторонам с длинами x, y.
← →
Igorek © (2005-09-16 15:15) [58]
> Проще всего сделать для круга, тут никаких хитростей нет.
Если принять, что каждая точка должна быть использована, то вроде без интегралов не обойтись.
← →
MBo © (2005-09-16 15:15) [59]>КаПиБаРа © (16.09.05 15:07) [56]
Проверка [56] - явно не равномерное распределение:
[code]
function RandPointC(const CX,CY,R: Integer):TPoint;
var
a,b:Double;
begin
a:=Random*R;
b:=Random*2*Pi;
Result.X:=Round(CX+a*Cos(b));
Result.Y:=Round(CY+a*Sin(b));
end;
procedure TForm1.Button3Click(Sender: TObject);
var
CX,CY,R: Integer;
i:Integer;
RP:TPoint;
begin
Randomize;
CX:=200;
CY:=200;
R:=150;
Canvas.Ellipse(CX-R,CY-R,CX+R,Cy+R);
for i:=1 to 5000 do begin
RP:=RandPointC(CX,CY,R);
Canvas.Ellipse(RP.X,RP.Y-1,RP.X+1,RP.Y+1);
end;
end;
[/code]
← →
SergP. (2005-09-16 15:17) [60]
> 6. В комнату внесли два плотных снежка, один по диаметру
> вдвое больше другого.
> Какая часть объема меньшего снежка останется, когда растает
> половина объема большого?
(4^(1/3) - 1)^3 = 0,2027
← →
MBo © (2005-09-16 15:19) [61]> Igorek © (16.09.05 15:13) [57]
Звучит логично. В коде на базе [55] как это будет выглядеть?
← →
Igorek © (2005-09-16 15:20) [62]
> Igorek © (16.09.05 15:13) [57]
Фигню написал.
← →
Igorek © (2005-09-16 15:21) [63]
> Звучит логично.
Фигня. Допустим на диагональ прямоугольника упадет сто точек. А соотв. сторона треугольника будет очень маленькая..
← →
MBo © (2005-09-16 15:24) [64]>SergP. (16.09.05 15:17) [60]
> (4^(1/3) - 1)^3 = 0,2027
Правильно.
← →
Igorek © (2005-09-16 15:24) [65]
> MBo © (16.09.05 15:19) [61]
> > Igorek © (16.09.05 15:13) [57]
> Звучит логично. В коде на базе [55] как это будет выглядеть?
Нет, все таки правильно. Преобразование треугольника линейное - потому равномерность сохранится. Код долго писать. :)
← →
palva © (2005-09-16 15:26) [66]8. Трехмерный случай.
У меня получился общий член ряда (то есть вероятность возврата на шаге 2n) такой:
( (2n)! / ( n!^2 * 2^(2n) ) ) ^ 3
Ряд сходится плохо. 2000 членов дают сумму 0.38517 Дальше надо оценивать хвост, поскольку вычисление общего члена дает переполнение, а сумма ряда при продолжении суммирования все еще ощутимо растет. Упрощать общий член по формуле Стирлинга, как-то стремно.
Ну будет сумма где-то 0.40 что соответствует вероятности возврата 0.29
← →
Igorek © (2005-09-16 15:27) [67]11. А вот как сделать то же самое выпуклого четырехугольника?
Поделить на два треугольника, взять сумму их площадей за 1.
Случайную точку сначала определить на какой ставить. :)
← →
Igorek © (2005-09-16 15:32) [68]11. Для круга.
Преобразование (x, y) в:
угол - х(0, 360)
длина вектора - y(0, r) = r * (площать круга радиуса y / площадь круга радиуса r)
← →
default © (2005-09-16 15:33) [69]MBo © (16.09.05 15:02) [55]
похоже тоже неравномерно будет, ибо если треугольник разграфить равноотстоящими отрезками параллельными какой-то его стороне, то при генерации примерно одинаковое число точек будет приходиться на каждый отрезок, но отрезки разные по длине стало быть хоть на каждом отрезке точки и будут примерно на одинаковом расстоянии, но вообщем будет неравномерность
← →
MBo © (2005-09-16 15:40) [70]>palva © (16.09.05 15:26) [66]
>( (2n)! / ( n!^2 * 2^(2n) ) ) ^ 3
Да, так. Сам я не считал, в книжке приведена сумма 18 членов 0.315
и соотв. вероятность возвращения 1-1/(1+0.315)~0.24
← →
MBo © (2005-09-16 15:43) [71]>default © (16.09.05 15:33) [69]
тем не менее при некоторой доработке этот способ даст нужный результат
← →
GuAV © (2005-09-16 15:57) [72]SergP. (16.09.05 13:55) [46]
R(n)=R(n-1)*(sqrt(2)-1)/(sqrt(2)+1)
у меня немного не так получилось
R[N] = R[N-1] * (sqrt(2) - 1) / (2 + sqrt(2))
R[N] = ((sqrt(2) - 1) / (2 + sqrt(2)))^N * 1/2
S[N] = sqr((sqrt(2) - 1) / (2 + sqrt(2)))^N * 1/4 * Pi
S = (Pi/4) / (1 - ((sqrt(2) - 1) / (2 + sqrt(2))) = 0,797130834
← →
GuAV © (2005-09-16 15:58) [73]11 для круга:
function GetRandomPointFromCircle(R, x0, y0: Integer): TPoint;
var P, F: Extended;
begin
P := sqrt(Random) * R;
F := Random * 2 * Pi;
Result.X := x0 + Trunc(P * cos(F));
Result.Y := y0 + Trunc(P * sin(F));
end;
← →
GuAV © (2005-09-16 16:04) [74]
> S = (Pi/4) / (1 - ((sqrt(2) - 1) / (2 + sqrt(2))) =
> 0,797130834
S = (Pi/4) / (1 - sqr((sqrt(2) - 1) / (2 + sqrt(2))) = 0,797130834
← →
MBo © (2005-09-16 16:09) [75]>GuAV © (16.09.05 15:58) [73]
Верно
← →
Igorek © (2005-09-16 16:10) [76]Огласите нерешенные плз.
← →
MBo © (2005-09-16 16:13) [77]>GuAV © (16.09.05 15:57) [72]
У SergP в [46] правильная формула, и суммарная площадь будет 0.809
← →
default © (2005-09-16 16:14) [78]3. 7
← →
MBo © (2005-09-16 16:23) [79]>default © (16.09.05 16:14) [78]
>3. 7
Верно
← →
MBo © (2005-09-16 16:24) [80]Igorek © (16.09.05 16:10) [76]
Не решены:
9 и частично 11
← →
Igorek © (2005-09-16 16:29) [81]9. 1/2
← →
Igorek © (2005-09-16 16:32) [82]Сорри.
9. d/2cos(30градусов)
← →
MBo © (2005-09-16 16:34) [83]>Igorek © (16.09.05 16:32) [82]
>9. d/2cos(30градусов)
нет
← →
palva © (2005-09-16 16:50) [84]5. Задача вообще-то решена, но я попробую мотивировать.
Из соображений симметрии точка сочленения ширм должна находиться на биссектрисе прямого угла. Т. е. можно рассматривать следующую "половину" задачи: какой треугольник с основанием 1 метр и углом при вершине pi/4 будет иметь наибольшую площадь. "Геометрическое место" вершин таких треугольников будет дуга окружности (составляющая три четверти всей окружности), построенная на основании 1 м как на хорде. Наибольшую высоту, а значит и наибольшую площадь будет иметь рабнобедренный треугольник. Это означает, что угол ширмы со стеной должен быть 3*pi/8
← →
GuAV © (2005-09-16 16:58) [85]11 Для треугольника:
Определить наибольшую сторому - допустим, это AC. Провести к ней высоту BO. Выбрать координату по стороне AC и по высоте BO т.о. получить точку M.
Если координата по AC меньше AO, то проверить, не находится ли точка M за AB по знаку cos(MAB). Если точка M за AB, то координата_по_BO := BO - координата_по_BO; координата_по_AC := AO - AC.
Если координата по AC не меньше AO, то аналогично для AC.
Т.е. выбрать точку в прямоугольнике, одна из сторон которого - большая сторона треугольника, а точка против этой стороны треугольника лежит на противоположной стороне прямоугольника; затем, если не попала в треугольник, скорректировать координаты.
Процедуру писать не стал, т.к. способ кажется громозким.
← →
Igorek © (2005-09-16 17:03) [86]
> MBo © (16.09.05 16:34) [83]
Еще раз проверил - так выходит. :(
Вертикаль - 90 градусов.
Угол падения - между вертикалью и основой цилиндра - равномерная случайная величина. Если он меньше 30 градусов - упадет на ребро. В момент падения вертикаль проходит через центр масс.
← →
default © (2005-09-16 17:32) [87]11. треугольник
метод симметричного отображения
http://webfile.ru/522660
← →
default © (2005-09-16 17:52) [88]сорри, вот такой рисунок http://webfile.ru/get/967614567/1.rar
← →
GuAV © (2005-09-16 17:57) [89]default © (16.09.05 17:32) [87]
Нет, не такbegin 644 2.zip
M4$L#!!0``@`(`.:&,#-B_$S\2@4``%HW`@`%````,BYB;7#MW5UN$S$4AN&4
M5;``+E@!W"//!M@#*V1Q0XI0E;9I,IW.C\]WGE<J5"!%XV/[C3VVCW_\_/7]
MT^F1;^>?K^>?/P^GT^_SWP^GS__^_<O__[]D`@#,@S,!@#,!@#,!@#,!@#,!
M@#,!@#,!`)P)`)P)`)P)`)P)`)QY]S,!C`/157&F\#8<YZOW06I!-ZSE3-VG
MH6&,;<:I!5]A19VIROHX\ZFK/OVIZ@_YPC+LK^Y,W:>#,R^K^/(7]7Z4*CFS
MM#/570=GFF4,I4I5$.!,U=<D)FIYMR&]ZHAWIOD:9[X8)EDP6GU@R9EASE2/
MG#E=>^.M):RK2K$-<Z:JY$R-85-5BFV>,\W3.5,SV*%3B&V2,]4I9^K1JP\L
M]:]X9S:OUL[.-,+<80F,,R.=V;G[6#>G2@U,GUW\F0WK-]B9-[30=FZ^_]<$
M9V8[LV<G"K/!;1_VW)EY8&$Y,]Z9W>;I87F-)NL[8ZB2,ULYLU5=1^:"FWJO
M[PPUA.;,/LYL4MUA9;2X,UK!.;.5,SL,5R+7@"JN[(Q9:L[LYLSX>B]:M!OK
M.%9V-##.".0S(VO_=J%*%+G;90JU7CYP9EMG!L]D`SKFU.!-9M"2<69S9TZ)
MBR9S)KRUINJ1"ULZ.(HZ,VR>GG>/=E[5Z."H[LRDQA`S,)LSR)PO7C6BFW"F
M]G"[""7[Z7S=C5S&U)>QG,F98?/TJQMU!G\W^)$G"+!0V9NC.),SPQI&PW78
M00Y7-CFOQ)F<&=8VFJ>_.R0WFB0PX,RZDZR>^[+V/SK4]A0\9W)F6"-9:ZI;
M[AOD];-M=R&.RU/`F3"M9!5GOI7=MV+!5[RCUGU#G,F9>:.+%?/FE3N,<W<G
M)U5R)F=J,-LY,Z_L\^U"E9S)F4W:S+JY1LMUEOF75%:?4-R=%W`F9X[6/CO$
M/S@GV^N,<TFI,SB3,TU2."/3X5E8O^-,SBPQ5HF,?^2UCR]4&6#.W3;V<R9G
MACW>%LY,RLD6^3)SSZ\VSN3,L"?<+O[5AV"O732OV._V.0#%<IR9-$]W\F6Q
M*DN7>K=MM)S)F6&/RIG3JN\GRYUEX$S.G/J=^-:D1U-3&QIF<6;>:#NQB
M/9OT;KI@#!"@S+#6U:I)"[)"2%XCEN/,I`;6H4F/L)URQ?>EFC1GJJ8#AR79
M3;KZU3\5[V:JF":`,_..MG%FN8"E1\Q9*)_>W0)R)F>&:3/XA&/%,7!U6]:M
M#LXTM6PU)L\8DDW/C^?$P"*<F33@].YW0/E7M,U;3\Z9G!FFS=+Y<B.[0[G2
MW7Y@SN3,L#%53-_,ZPX95TIQ)F>&A:M$#J@FK\6N;M0)6$-G.<Y,BMC@5Y"W
MV@(1^=7`F9P9)I.1MTEGM.2994E=:.9,S@P+W5#9CZO?2G;UX=]UM66>-CF3
M,\,&G",D\$RRQ+(-BB].S7`F."/8&!Z8@Z[)Z[MESDSZ$F$YSDP*XR&9E%HM
MTMTM;/;I;,[DS+!Y^I[)0/J<I%M\$(8SP9F#QW.?7.6=WY9P)LMQ9E)(-XJ5
M_`S+IMN<"<X<?)Z^Q<$B\9^>;Q_B3"!F3&Q7W!O/EE=CRYE:`F<FA??CVSNI
M<L4A-V>",P?ON<MB196<J3-R9L\X+^C4PLLP.B-GM@WUNU+N".S6]9*7X5R;
MX<RPV>+,"Q"%;I]*N?R%,\&9@P]LJ/)P;3IO#LX</.Q7$X.+SU":E`L.G#E^
M)S6P9!@EXDP`[C?G3`#@3$$``,X$`,X$`,X$`,X$`,X$`,X$`"`F`"`F`"`F
M`"`F`"`F`"`F`(`S`8`S`8`S`8`S`8`S`8`S`0"<"0"<"0![.O,O4$L!`A0`
M%``"``@`YH8P,V+\3/Q*!0``6C<"``4````````````@`````````#(N8FUP
64$L%!@`````!``$`,P```&T%````````
`
end
sum -r/size 57717/1462
← →
GuAV © (2005-09-16 17:59) [90][89] Хе, думал прокатит, а оказывается это тэг. :)
[88] - принято.
← →
GuAV © (2005-09-16 18:00) [91]
> оказывается это тэг. :)
оказывается &itB> это тэг. :)
:-)
← →
TG © (2005-09-16 18:05) [92]ХЗ
← →
MBo © (2005-09-16 18:06) [93]Для треугольника можно использовать параллельные одной из сторон сечения, координату по сечению выбирать линейно от Random, а удаление сечения от вершины - как Sqrt(Random)
a:=Sqrt(Random);
b:=Random;
Результат - лиейная комбинация вершин с весами, если не ошибаюсь:
x:=b*a
y:=b*(1-a)
z:=1-b
Но метод с отражением от диагонали параллелограмма, построенного на треугольнике - эффективнее
a:=Random
b:=Random
if a+b>1 then begin
a:=1-a;
b:=1-b;
end;
Веса вершин a, b, (1-a-b)
← →
Igorek © (2005-09-16 18:46) [94]2MBo
> Igorek © (16.09.05 15:32) [68]
Правильно?
Поясню. Пусть точка x,y = 0..1. Четырехугольник поделился на треугольники с площадью 1/5 и 4/5 к общей.
х - оставляем
у - если меньше 1/5 - умножаем на 5/1 и точка попадет на первый, иначе - на 5/4 и во второй.
Получим снова x,y = 0..1 и треугольник. Дальше = известно.
← →
MBo © (2005-09-16 20:27) [95]>Igorek © (16.09.05 18:46) [94]
эээ... 68 пост про круг
Может, речь идет о 67?
Да, четырехугольник можно поделить на два треугольника и уже известным методом ставить в них точки, распределяя их соответственно площади.
А вот разъяснение из [94] я не понял :)
На самом деле для четырехугольника есть и другой метод, не требующий деления на тр-ки и очень эффективный. Я бы до него фиг сам додумался.
← →
default © (2005-09-16 21:37) [96]MBo © (16.09.05 20:27) [95]
[88] медленный?
← →
default © (2005-09-16 21:39) [97]MBo © (16.09.05 20:27) [95]
кстати может нерешённую задачу про сломаные и несломаные приборы выложить ещё, я как раз хотел над ней подумать на пятничные задачки эти...:)?
← →
MBo © (2005-09-17 06:18) [98]>default © (16.09.05 21:37) [96]
>[88] медленный?
Насколько я понял рисунок, это вторая реализация из [93] ?
Есть N неких устройств.
Часть из них исправна, часть сломана. Известно, что исправных больше, чем сломаных.
Одним прибором можно проверить другой, результат проверки - исправен проверяемый прибор или нет.
Понятно, что сломанный прибор может выдать что угодно, и доверия ему нет. Исправный же прибор всегда даёт правильный ответ.
Проверка довольно дорогая, поэтому их количество надо минимизировать.
Цель - найти хотя бы один исправный прибор.
Какое минимальное количество проверок придётся сделать в худшем случае?
дополнения из обсуждения:
-----------------------
-Интересно. Если я проверю одним прибором другой, и получу отрицательный ответ, то оба эти прибора можно отложить в сторонку.
-Вы на правильном пути.
---------------
Подсказка
я не проверяю один и тот же прибор больше одного раза
------------------------------------------------------------
для N=8 достаточно 4-х проверок.
Для 10-ти уже нужно 7 проверок
-----------------------------------
← →
default © (2005-09-17 14:29) [99]MBo © (17.09.05 06:18) [98]
"Насколько я понял рисунок, это вторая реализация из [93] ?"
не знаю, метод такой
если исходный треугольник не прямоугольный, то разбиваем его на два прямоугольных проведением высоты
каждый прямоугольный треугольник дополняем до прямоугольника,
но равномерно генерить случайные точки для прямоугольника мы умеем
поэтому генерируем случайные точки в прямоугольник, если сгенеренная точка попала в наш треугольник, то на этом останавливаемся, иначе эта точка попала в точно такой же прямоугольный треугольник только перевёрутый, поэтому тут имеется взаимнооднозначное соотв-ие между точками и мы просто отображаем точку из "клона" нашего прямоугольного треугольника в наш прямоугольный треугольник, как видно метод крайне прост
а задачей по приборам надо заняться:)
только думаю лучше, наверно, отдельной веткой её запостить(иначе обычно подобные посты воспринимаются как offtopic) и написать типа доселе неразрешимая для заинтересованности
← →
MBo © (2005-09-17 17:12) [100]>метод такой
>если исходный треугольник не прямоугольный, то разбиваем его на два >прямоугольных проведением высоты
Это все лишнее.
Треугольник дополняем до параллелограмма, генерируем два числа.
a:=Random
b:=Random
Их сумма >1 означает, что попали выше диагонали - отражаем точку (вычитая из 1)
if a+b>1 then begin
a:=1-a;
b:=1-b;
end;
P=P1*a+P2*b+P3*(1-a-b)
Страницы: 1 2 3 вся ветка
Форум: "Потрепаться";
Текущий архив: 2005.10.09;
Скачать: [xml.tar.bz2];
Память: 0.73 MB
Время: 0.016 c