Текущий архив: 2005.03.20;
Скачать: CL | DM;
Вниз
Пятничные задачки или типа того Найти похожие ветки
← →
Vasya.ru © (2005-02-25 01:58) [0]Решил вот подбросить любителям пару задачек, итак:
1. Длинная арифметика.
Рассмотрим натуральное число N. Все натуральные числа, меньшие N, разделим на три группы. В первую группу войдут числа, взаимно простые с N. Во вторую группу войдут делители N. Все остальные числа образуют третью группу. Например, для N=6 в первой группе будут числа 1 и 5, во второй - 1,2 и 3, а в третьей - 4.
Требуется для заданного числа N определить количество чисел во всех трех группах.
2. Пирамида
Даны длины шести ребер пирамиды, найти ее объем.
3. Копирование
На днях купил в комп клуб новую игрушку. Пока она есть только на компьютере админа, но ее нужно установить на все N компьютеров, имеющихся в клубе. Беда в том, что что-то случилось с сетью (а CD-ROMов у нас вообще нет), и единственный способ передачи информации с одного компа на другой - скопировать ее, используя нуль-модем (провод, соединяющий два компьютера напрямую). Таким образом, с любого компьютера, где уже установлена программа, можно скопировать её на какой-то другой (но только на один) всего за один час. В вузе всего K нуль-модемных шнуров. Ваша задача по заданным числам N и K оценить минимальное время, необходимое для копирования программы на все имеющиеся компьютеры.
← →
Alx2 © (2005-02-25 09:56) [1]2. Блин, запарился упрощать, так что сорри за кучу малу:
V = 1/12*sqrt(l^2*b^2*c^2+l^2*b^2*m^2-l^2*c^2*m^2-a^4*m^2-m^4*a^2+k^2*c^2*m^2+a^2*k^2*c^2+a^2*l^2*b^2+k^2*l^2*c^2+k^2*b^2*c^ 2-k^2*b^2*m^2+c^2*a^2*m^2-k^4*c^2-k^2*a^2*l^2+l^2*a^2*m^2-l^2*b^4-b^2*a^2*c^2+b^2*a^2*m^2+k^2*a^2*m^2-k^2*c^4-l^4*b^2+k^ 2*l^2*b^2)
← →
Alx2 © (2005-02-25 09:58) [2]Покороче :
V = 1/12*sqrt((c^2*m^2-c^4-k^2*c^2)*k^2+(k^2*c^2-c^2*m^2)*l^2+((c^2-m^2)*k^2+(k^2+c^2+m^2-l^2)*l^2-l^2*b^2)*b^2+((c^2-m^2)*m ^2+(c^2+m^2)*k^2+(m^2-k^2)*l^2+(l^2+m^2-c^2)*b^2-m^2*a^2)*a^2)
← →
MBo © (2005-02-25 12:44) [3]>Alx2 © (25.02.05 09:58) [2]
function TetrahedronVolume(ab, bc, ac, ad, bd, cd: Double): Double;
begin
if (ab + bc <= ac) or (ac + bc <= ab) or (ab + ac <= bc) or
(ab + bd <= ad) or (ad + bd <= ab) or (ab + ad <= bd) or
(bd + bc <= cd) or (cd + bc <= bd) or (bd + cd <= bc) then
Result := 0
else begin
ab := ab * ab;
bc := bc * bc;
ac := ac * ac;
ad := ad * ad;
bd := bd * bd;
cd := cd * cd;
Result := Sqrt(ab * (cd * (bc + bd + ac + ad - cd - ab) +
(ad - ac) * (bc - bd)) +
bc * (ad * (cd + bd + ac - bc - ad) + bd * (ac - cd)) +
ac * (bd * (cd + ad - bd - ac) - cd * ad)) / 12
end;
end;
совпадут развесистые строки? :);)
проверка:
единичный V=0.11785
три единичных и три по Sqrt(2) - V=1/6
← →
Alx2 © (2005-02-25 13:05) [4]MBo © (25.02.05 12:44) [3]
1. Совпадают. Sqrt(2)/12
2. Можно подобрать порядок следования аргументов так, чтобы совпали.
Но интересно, что комутативности нет (в твоем варианте тоже) :)
V(sqrt(2),sqrt(2),sqrt(2),1,1,1) = 1/6;
V(sqrt(2),sqrt(2),1,sqrt(2),1,1) = 1/12*sqrt(5);
....
← →
MBo © (2005-02-25 13:12) [5]3.
function TForm1.CalcCopyTime(N,K:Integer):Integer;
var
Last:Integer;
begin
Last:=N-1;
Result:=0;
if K<=0 then Exit;
while Last>0 do begin
Inc(Result);
Dec(Last,MinIntValue([N-Last,Last,K]));
end;
end;
>Alx2 ©
>Но интересно, что комутативности нет (в твоем варианте тоже) :)
Поэтому я и обозначил отрезки между вершинами тетр. ABCD явным образом.
Во втором тесте я имел в виду тетраэдр с вершинами в нуле координат и в единичных точках по осям.
← →
Alx2 © (2005-02-25 13:25) [6]MBo © (25.02.05 13:12) [5]
>Поэтому я и обозначил отрезки между вершинами тетр. ABCD явным
>образом.
Понятно. У меня, как всегда, сработало ложное предположение.
← →
Mystic © (2005-02-25 14:50) [7]Повторю ссылку:
http://www.highiqsociety.org/common/iqtests/hdtest_printable/index.htm
Есть решения???
← →
Mystic © (2005-02-25 14:51) [8]Повторю ссылку:
http://www.highiqsociety.org/common/iqtests/hdtest_printable/index.htm
Есть решения???
← →
Vasya.ru © (2005-03-02 16:22) [9]Alx2 © (25.02.05 9:58) [2]
MBo © (25.02.05 12:44) [3]
для единичного правильно, но вот с другими тестами проблема - 1000, 1000, 1000, 3, 4, 5 - объем равен 1999.9937, а в Ваших вариантах нет
← →
Alx2 © (2005-03-02 16:43) [10]Vasya.ru © (02.03.05 16:22) [9]
Напиши чему равно каждое ребро в виде AB=? BC=? и т.д. Потом проверь возможна ли такая пирамида. А если возможна - значения в формулу и получим ответ.
← →
MBo © (2005-03-02 16:44) [11]>Vasya.ru © (02.03.05 16:22) [9]
Memo1.Lines.Add(FormatFloat("0000.00000000",TetrahedronVolume(3,4,5,1000,1000,1000)));
выдает
1999.99374999
← →
Vasya.ru © (2005-03-02 17:22) [12]MBo © (02.03.05 16:44) [11]
выдает
1999.99374999
Ну тогда мои извинения
← →
Agent13 © (2005-03-02 17:58) [13]
> Mystic © (25.02.05 14:50) [7]
> Повторю ссылку:
> http://www.highiqsociety.org/common/iqtests/hdtest_printable/index.htm
>
> Есть решения???
:) Больной вопрос :) На прошлых выходных надеялся порешать, но прочитав условия нескольких задач, желание пропало. Надеюсь эти выходные будут продуктивнее :)
Страницы: 1 вся ветка
Текущий архив: 2005.03.20;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.026 c