Open Source & Linux Lab

It's better when it's simple

User Tools

Site Tools


etc:users:fun

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
etc:users:fun [2010/01/29 19:36] krinkinmuetc:users:fun [2016/08/08 20:53] (current) – ↷ Links adapted because of a move operation kel
Line 41: Line 41:
 **Решение** **Решение**
 Мы точно знаем, что в 00:00:00 все стрелки сходятся вместе, в следующий раз они сойдутся (грубая оценка) в интервале от 01:00:00 до 02:00:00, потом в интервале от 02:00:00 до 03:00:00 и тд, последний раз такое случится в интервале от 10:00:00 до 11:00:00 (рассматриваем только 12 часов, потому что дальше все повторяется), таким образом мы получили 11 интервалов, тогда требуемое событие происходит с периодом 1 час + 1/11 часа (12/11), зная начальное решение (00:00:00) мы можем получить все. Кстати задача имеет и строгое математическое решение, но его неудобно сюда вписывать. Мы точно знаем, что в 00:00:00 все стрелки сходятся вместе, в следующий раз они сойдутся (грубая оценка) в интервале от 01:00:00 до 02:00:00, потом в интервале от 02:00:00 до 03:00:00 и тд, последний раз такое случится в интервале от 10:00:00 до 11:00:00 (рассматриваем только 12 часов, потому что дальше все повторяется), таким образом мы получили 11 интервалов, тогда требуемое событие происходит с периодом 1 час + 1/11 часа (12/11), зная начальное решение (00:00:00) мы можем получить все. Кстати задача имеет и строгое математическое решение, но его неудобно сюда вписывать.
 +
 +20. Как провести электричество, чтобы свет на лестнице можно было включать/выключать и с верхней площадки, и с нижней. Нарисуйте схему проводки.
 +
 +**Решение**
 +
 +{{etc:users:схема.png|}}
 +Задан источник постоянного тока, но в данном случае это не важно. Свет горит, когда оба выключателя замкнуты на одну внешнюю ветвь. Должно быть решение более сложное, но с одной лампочкой (кстати лампочка обозначена чисто формально, там может быть целая система световых приборов).
 +
 +Может {{etc:users:jcmvbkbc:problems-scheme-2.png|}} ? ага так, чет про более сложное решение я косанул)
 +
 +4. Что делает следующий С++ код? (Matt Marcus)
 +
 +<code cpp>.
 +struct A {
 +   A(const volatile void*);
 +};
 +
 +char f(A);
 +int f(...);
 +
 +template <class T>
 +struct Test {
 +   static const int value = (sizeof(f(*(T*)0)) == sizeof(char));
 +};
 +
 +</code>
 +
 +**Решение**
 +*(T*) 0 - я немного не уверен в этой конструкции (как я понял, (Т*) 0 - это приведение 0 к типу T*, а первая * - это разыменование???), но в целом, (sizeof(f(*(T*)0)) - проверяет размер возвращаемого значения для функции с параметром типа Т, сравнивает с размером типа char, и таким образом, если для Т = А, то (sizeof(f(*(T*)0)) = 1, для T != A, получим (sizeof(f(*(T*)0)) = 4 (ну я принял, что sizeof(char) = 1 и sizeof(int) = 4), ну и в зависимости от того, какой тип передан в качестве T, value равно 0 или нет. Вот как-то так.
etc/users/fun.1264782980.txt.gz · Last modified: 2010/01/29 19:36 by krinkinmu