интересная задачка для программистов

Вопросы по программированию, не подходящие в другие разделы.

Модераторы: Naeel Maqsudov, C_O_D_E

Ответить
NuM
Сообщения: 5
Зарегистрирован: 28 июн 2009, 15:38

есть код на паскале

Код: Выделить всё

for i:=1 to 6 do
begin
  case i of
    1,3,5:x:=1;
    2,4,6:x:=128;
  end;
  writeln(x);
end;
нужно представить его в виде

Код: Выделить всё

for i:=1 to 6 do
begin
  writeln(формула);
end;
где формула - выражение, состоящее из двух операций, так, чтобы результат выполнения был одинаковым.

p.s.Уважаемые модераторы, переместите пожалуйста тему обратно, я знаю решение этой задачки, а запостил на форум ее для того, чтобы другие попробовали реешить эту головоломку
Хыиуду
Сообщения: 2442
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

Переместил. Поиск решения занял секунд пять.
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
NuM
Сообщения: 5
Зарегистрирован: 28 июн 2009, 15:38

Хыиуду писал(а):Переместил. Поиск решения занял секунд пять.
простите за вопрос, но в вашем решении точно используется только две операции?
airyashov
Сообщения: 441
Зарегистрирован: 02 ноя 2007, 10:31

насчет 2 не знаю, но с 3 легко
icq:3(один)7748666
mail:airyashov( а)inbox.ru
NuM
Сообщения: 5
Зарегистрирован: 28 июн 2009, 15:38

airyashov писал(а):насчет 2 не знаю, но с 3 легко
в этом и заключается сложность :)
airyashov
Сообщения: 441
Зарегистрирован: 02 ноя 2007, 10:31

тогда нужен список операций какие можно использовать
icq:3(один)7748666
mail:airyashov( а)inbox.ru
NuM
Сообщения: 5
Зарегистрирован: 28 июн 2009, 15:38

airyashov писал(а):тогда нужен список операций какие можно использовать
+, -, *, div, mod, and, or, xor, not, shr, shl и скобки
airyashov
Сообщения: 441
Зарегистрирован: 02 ноя 2007, 10:31

(i*127) and $81
icq:3(один)7748666
mail:airyashov( а)inbox.ru
NuM
Сообщения: 5
Зарегистрирован: 28 июн 2009, 15:38

airyashov писал(а):(i*127) and $81
правильное решение! а можете рассказать как вы до него дошли?
Ответить