-
sirUjin,
Не знаю, моё решение годится и для отрицательных чисел, и для вещественных.
На большинстве интервью, если задётся задачка на алгоритмику и не оговаривается язык, на котором должно быть решение, ожидается, что претендент напишет решение на С или С++ - их знают даже те, кто никогда не сталкивался с ними по работе, это эдакая программерская латынь.
Вещественные числа не используются по умолчанию хотя бы потому, что, например, в процессорах с 8086 по 386 они отсутствовали как данность и были выведены как функция сопроцессора (серия х87), а непосредственно в основной процессор они были добавлены только с 486.
-
sirUjin, есть решение, пригодное для любых чисел. Как известно, два любых действительных числа можно сравнить, и сказать, какое из них больше, а какое меньше, или признать, что они равны. Думай.
-
У меня боло решение для положительных чисел, но уже нашел для любых, при чем даже элегантнее. :)
Ryzhaya, алгоритмы, вообще-то, чаще пишутся как раз на Матлабе, потому что так легче, можно о памяти и прочем железе не думать, а заниматься непосредственно алгоритмом, а уже потом переводятся на С++. Это я тебе как человек занимающийся алгоритмами говорю :)
-
-
sirUjin, Ryzhaya, оба, обе...
-
Ответы:
1)
x = x + y
y = x - y
x = x - y
2) Самый короткий вариант:
Min = - max(-a, -b, -c)
-
Fessaer,
Не согласна с решением первой задачи. Всё-таки решение через XOR - более правильное, потому что ни при каких случаях не может привести к переполнению.
-
Ryzhaya,в таких ситуациях математические операции + и - предпочтительнее, так как они проще для непосвященного, а пока речь идет об алгоритме, а не о конкретной функции, понятие переполнения отсутствует.. Никто не отменял верность решения через XOR.