[{{mminutes}}:{{sseconds}}] X
Пользователь приглашает вас присоединиться к открытой игре игре с друзьями .
Ctrl предыдущая следующая Ctrl Страницы
1 2 3 4 5 6 7 8 9 10 ... 16

Форум «Пит-стоп» / Задачи по математике

Fudo Сообщение #61 5 ноября 2011 в 10:21
Экстракибер
35
Ну, вообще, я, когда решал задачу, решил способом 4б от Sauvage, то есть идем до ближайшего включенного, выключаем, возвращаемся в исходный, и если там выключено, то мы прошли ровно круг. Остальные я прогнал мысленно, вроде, тоже работают.
По поводу задачи, которую предложил Sauvage:
скрытый текст…

Последний раз отредактировано 5 ноября 2011 в 11:23 пользователем Fudo
Крестоносец Сообщение #62 5 ноября 2011 в 12:00
Маньяк
43
Фудо, может нужно запоминать максимальное из последовательно считываемых и суммировать или вычитать числа таким образом, чтобы (Результат операции)>=Мах, но при этом (Результат операции) должен быть минимальным. Сейчас обдумаю, как это пояснить понятней (я чисто интуитивно, с помощью логики Фудо), ещё сам не проверил правильность )))
К примеру уже с данными числами:
скрытый текст…
Последний раз отредактировано 5 ноября 2011 в 15:00 пользователем Крестоносец
-Red_Bull- Сообщение #63 5 ноября 2011 в 13:25
Новичок
17
Последний раз отредактировано 5 ноября 2011 в 14:42 пользователем -Red_Bull-
Sauvage Сообщение #64 5 ноября 2011 в 13:30
Гонщик
24
Про 1 секунду - это стандартное требование в таких задачах. Предполагается, что можно успеть осуществить порядка нескольких сотен миллионов операций. То есть, например, можно пересчитать 10^8 и иногда даже 10^9 значений, а вот сортировка пузырьком (если бы вдруг требовалась сортировка) не прокатит даже на 10^6 значениях (это порядка 10^12 операций). Но тут вы думаете в направлении, близком к правильному, и в эту секунду точно уложитесь.
Fudo, очевидно, что правильное решение не зависит от порядка следования чисел во входном файле. Также я как бы намекаю, что количество использованной памяти не зависит от количества чисел (мог бы в условии и про 10^20 чисел написать, если бы было реально прочитать их за это время). Остаётся вычисление по цепочке, причём на этом вычислении должен действовать переместительный закон. Крестоносец предложил вычисление типа "условное сложение-вычитание", но на таком вычислении переместительный закон не действует (при разном порядке чисел результат разный). Нужно что-то другое, на чём действует переместительный закон.
Последний раз отредактировано 5 ноября 2011 в 14:55 пользователем Sauvage
Крестоносец Сообщение #65 5 ноября 2011 в 14:04
Маньяк
43
Да, я уже забил в программке и при другом порядке увидел что это не действует.
скрытый текст…

Ещё вот мысль: как ни крути но сумма всех "парных" чисел независимо от того чётные они или нет есть число чётное. То есть чётность или нечётность всей последовательности чисел зависит от того какое число "не парное". Может это свойство должно как-то использоваться.
фух, я запутался.
Может надо при каждой итерации в цикле запоминать количество чётных и кол-во нечётных и... текущее число к примеру чётное, и количество чётных чётно, то его прибавлять к сумме, иначе вычитать. То же самое с нечётными
... нет ерунда получится

Товарищи программисты, помогите энергетику
Последний раз отредактировано 5 ноября 2011 в 17:10 пользователем Крестоносец
Sauvage Сообщение #66 5 ноября 2011 в 15:40
Гонщик
24
Да, но чётным может быть как сумма пары, так и одно число.
"Условное сложение-вычитание" работать не будет - это не коммутативная операция.

Подскажу издалека: если взять и сложить все числа (допустим, переполнения не будет), то чётность у суммы будет такой же, как у непарного числа.
Последний раз отредактировано 5 ноября 2011 в 17:11 пользователем Sauvage
Крестоносец Сообщение #67 5 ноября 2011 в 16:13
Маньяк
43
Sauvage писал(а):
Подскажу издалека: если взять и сложить все числа (допустим, переполнения не будет), то чётность у суммы будет такой же, как у непарного числа.

Это я уже додумал (см. мой коммент выше), но что дальше пока не знаю...
понятно, что если скажем сложить все числа файла и потом разделить на 2 то мы точно узнаем какое число "не парное" - чётное или нет )))
Последний раз отредактировано 5 ноября 2011 в 17:17 пользователем Крестоносец
Sauvage Сообщение #68 5 ноября 2011 в 16:19
Гонщик
24
Угу.
Последний бит результата мы можем узнать.
Числа 32-битные. Узнавать надо все биты одновременно, т. к. вход можно прочитать только единожды.
Сложение - хорошая операция, коммутативная, но она использует перенос в следующий разряд (бит), а нам это ни к чему.
buzzy Сообщение #69 5 ноября 2011 в 16:28
Кибергонщик
41
Sauvage
Мда... После последнего сообщения сразу понятно, как делать. :) Странно, что не подумал об этом раньше. :/
Крестоносец Сообщение #70 5 ноября 2011 в 16:30
Маньяк
43
если сложить логическим "исключающим или" все одноименные биты этих чисел, тогда все биты парных обнулятся и останутся биты искомого числа. Так?
Sauvage Сообщение #71 5 ноября 2011 в 16:31
Гонщик
24
Да. Побитово поксорить все числа. Результат - непарное число.
Крестоносец Сообщение #72 5 ноября 2011 в 16:33
Маньяк
43
эх, мышление у нас "десятичное" )))
*пошёл сжигать старый учебник по Паскалю и следом в магазин за книжкой по Аsm-у :)
скрытый текст…

Кстати, насчёт задачки с шарами предложений нет? :)
Последний раз отредактировано 5 ноября 2011 в 17:54 пользователем Крестоносец
Sauvage Сообщение #73 5 ноября 2011 в 16:53
Гонщик
24
Увы, я не физик.
Вот ещё задача.

Программистская постановка задачи. На вход подаются два натуральных числа. Требуется вывести на экран большее из них. Если числа равны друг другу, то вывести одно из них.
Естественно, замечания:
- нельзя использовать ветвления, переходы, циклы, подпрограммы, обработчики исключений и т. п., алгоритм должен быть строго линейным;
- нельзя использовать манипуляции с битами и машинными представлениями чисел, решение чисто математическое;
- можно использовать арифметические операции (в т. ч. обычное деление, целочисленное деление, остаток от деления), округление, корень, квадрат, модуль, логарифм, экспоненту, тригонометрические функции;
- можно использовать скобки.

Математическая постановка задачи. Определить функцию f(a, b) = max(a, b) как композицию операций из следующего списка: арифметические операции (в т. ч. обычное деление, целочисленное деление, остаток от деления), округление, корень, квадрат, модуль, логарифм, экспонента, тригонометрические функции.

Вариант задания для продвинутых - ограничиться только пятью операциями: сложение, вычитание, умножение, целочисленное деление и получение остатка от деления.
Последний раз отредактировано 5 ноября 2011 в 17:54 пользователем Sauvage
InToTheSorrow Сообщение #74 5 ноября 2011 в 19:17
Маньяк
32
Крестоносец писал(а):
Кстати, насчёт задачки с шарами предложений нет? :)

Ну, я решение знаю, но догадался не сам, нам в универе эту задачу объясняли. Так что пусть хомячки сами подумают
Крестоносец Сообщение #75 6 ноября 2011 в 14:19
Маньяк
43
Я тоже не догадался сам, меня мой брат-физик привёл к логическому выводу
скрытый текст…

Ладно, еще одна подсказка (уже почти явно): Здесь примерно то же происходит, как если бы кто-то спустился на несколько метров вниз по лестнице с дирижабля, а на другом дирижабле другой поднялся на несколько метров вверх - подумайте что будет с дирижаблями )))
Последний раз отредактировано 6 ноября 2011 в 15:22 пользователем Крестоносец
Sauvage Сообщение #76 6 ноября 2011 в 15:22
Гонщик
24
Сферический дирижабль в вакууме - это сильно...
Дело в вертикальном перемещении, что ли?
Последний раз отредактировано 6 ноября 2011 в 16:27 пользователем Sauvage
Крестоносец Сообщение #77 6 ноября 2011 в 19:10
Маньяк
43
Дирижабли обычные, это аналогия. Дело в законе сохранения энергии. Тепло переходит в другие формы энергии :)
Sauvage Сообщение #78 6 ноября 2011 в 19:47
Гонщик
24
Однако, в 49-м посте сказано:
Крестоносец писал(а):
без обмена энергией в любом виде с другими телами - ни механически, ни электрически ни ещё коим-то образом

Видимо, обмен энергиями - только внутри шаров. Но какими её видами...
Крестоносец писал(а):
Дело в законе сохранения энергии.

Ответ об одинаковости температур не противоречит этому закону. Почему он неверный?
Последний раз отредактировано 6 ноября 2011 в 20:49 пользователем Sauvage
Крестоносец Сообщение #79 7 ноября 2011 в 10:19
Маньяк
43
Тепло переходит в 2 вида энергии в данной задаче: во внутреннюю и ещё одну (после получения тепла шары не обмениваются энергией ни с чем - изолированы)
скрытый текст…
Последний раз отредактировано 7 ноября 2011 в 11:30 пользователем Крестоносец
Sauvage Сообщение #80 7 ноября 2011 в 11:24
Гонщик
24
Подвешенный шар опустится, лежащий - поднимется. Как бы получается, что часть энергии переходит в потенциальную. Тогда температура лежащего должна бы быть меньше, т. к. тепло у него пошло на увеличение потенциальной энергии, а у подвешенного - наоборот.

Но меня вот что смутило... Потенциальная энергия - вещь двусторонняя. Если взять систему "лежащий шар - Земля", то нагревание шара увеличит потенциальную энергию обоих тел относительно друг друга. То же и с системой "подвешенный шар - Земля". Мы фактически сводим и разводим пару тел, меняя потенциальную энергию их обоих. Но было написано, что нет обмена энергией с другими телами, в т. ч. с Землёй. Как так?
Последний раз отредактировано 7 ноября 2011 в 12:26 пользователем Sauvage

Чтобы писать в форуме, нужно зарегистрироваться.

Ctrl предыдущая следующая Ctrl Страницы
1 2 3 4 5 6 7 8 9 10 ... 16

Связаться
Выделить
Выделите фрагменты страницы, относящиеся к вашему сообщению
Скрыть сведения
Скрыть всю личную информацию
Отмена