fortpost
Высший разум
Offline
Сообщений: 6853
СПАСИБО
-вы поблагодарили: 1794
-вас поблагодарили: 2261
|
|
� : Февраль 19, 2013, 12:09:35 � |
|
ПМС - программирование минимальными средствами (для начинающих).
1. Даны две переменные, например, a и b. Требуется поменять местами значения этих переменных (то есть должно получиться a=b и b=a), но при этом нельзя использовать третью переменную.
2. Дана переменная x, которая может принимать только значения a и b. Требуется присвоить x значение a, если x=b, и значение b, если x=a. При этом нельзя использовать условный оператор.
|
|
|
Записан
|
Лучший способ оказаться в дураках, это считать себя умнее других. Ф. Ларошфуко
|
|
|
Sirion
|
|
� Ответ #1 : Февраль 19, 2013, 12:12:07 � |
|
Показать скрытый текст 1. Ну, это всем известно. a = b - a; b = b - a; a = b - a; 2. x = a + b - x;
|
sirion=irion+srion+rion+siion+iion+sion+ion+siron+iron+sron+ron+sion+ion+son+on+sirin+ +irin+srin+rin+siin+iin+sin+in+sirn+irn+srn+rn+sin+in+sn+n+sirio+irio+srio+rio+siio+ +iio+sio+io+siro+iro+sro+ro+sio+io+so+o+siri+iri+sri+ri+sii+ii+si+i+sir+ir+sr+r+si+i+s
|
|
|
fortpost
Высший разум
Offline
Сообщений: 6853
СПАСИБО
-вы поблагодарили: 1794
-вас поблагодарили: 2261
|
|
� Ответ #2 : Февраль 19, 2013, 12:20:43 � |
|
Ну так для детей же! Кстати в п.1 ошибка!
|
Лучший способ оказаться в дураках, это считать себя умнее других. Ф. Ларошфуко
|
|
|
Sirion
|
|
� Ответ #3 : Февраль 20, 2013, 06:29:57 � |
|
Таки да, лажанулся. Ну, пусть дети поищут)
|
|
|
Записан
|
sirion=irion+srion+rion+siion+iion+sion+ion+siron+iron+sron+ron+sion+ion+son+on+sirin+ +irin+srin+rin+siin+iin+sin+in+sirn+irn+srn+rn+sin+in+sn+n+sirio+irio+srio+rio+siio+ +iio+sio+io+siro+iro+sro+ro+sio+io+so+o+siri+iri+sri+ri+sii+ii+si+i+sir+ir+sr+r+si+i+s
|
|
|
iPhonograph
Гений-Говорун
Offline
Сообщений: 2100
СПАСИБО
-вы поблагодарили: 561
-вас поблагодарили: 1315
Дискоед
|
|
� Ответ #4 : Февраль 20, 2013, 11:09:56 � |
|
фортпост, ну и название темы ты выбрал ))))
|
|
|
Записан
|
"Было бы величайшей ошибкой думать" (с) В.И.Ленин, Полн. cобр. cоч., т.34, стр.375
|
|
|
fortpost
Высший разум
Offline
Сообщений: 6853
СПАСИБО
-вы поблагодарили: 1794
-вас поблагодарили: 2261
|
|
� Ответ #5 : Февраль 20, 2013, 11:29:50 � |
|
фортпост, ну и название темы ты выбрал ))))
Какая жизнь, такие и темы!
|
|
|
Записан
|
Лучший способ оказаться в дураках, это считать себя умнее других. Ф. Ларошфуко
|
|
|
☭-Изделие 20Д
|
|
� Ответ #6 : Февраль 20, 2013, 14:05:35 � |
|
И правда навеяло Насколько просто это можно было сделаль на любом программируемом калькуляторе типа МК-52(кажется) просто закинул в стек, а когда надо обменял! А вот в языках без ввода дополнительной переменной и оператора такого не вспомню Да уж, а вот название Предменструальный синдром- детям это ты придумал сгоряча Или это на самом деле так и называется Помню как после распределения мы все прикалывались над парнем получившим назначение в Новосибирский НИИ ВМС оказалось высокомолекулярных соединений, а не то что думали
|
|
� Последнее редактирование: Март 02, 2013, 19:15:17 от Изделие 20Д �
|
Записан
|
|
|
|
zhekas
Гений-Говорун
Offline
Сообщений: 1035
СПАСИБО
-вы поблагодарили: 34
-вас поблагодарили: 486
|
|
� Ответ #7 : Февраль 20, 2013, 22:37:21 � |
|
Усложним задачу. Теперь будем считать что A и B -это подмножества Например A = {1,2,3,4} B = {3,4,5,6} Операция сложения - это объединение подмножеств. Операция вычитание - это разность подмножеств. Так A + B = {1,2,3,4,5,6}; A - B = {1,2} Задача та же
|
|
|
Записан
|
|
|
|
Sirion
|
|
� Ответ #8 : Февраль 21, 2013, 09:32:47 � |
|
Показать скрытый текст ну очевидно же. вводим операцию xor(A,B) = (A-B)+(B-A) дальше всё как для обычных чисел (если этот хак делать побитовым методом): A = xor(A, B); B = xor(A, B); A = xor(A, B);
|
sirion=irion+srion+rion+siion+iion+sion+ion+siron+iron+sron+ron+sion+ion+son+on+sirin+ +irin+srin+rin+siin+iin+sin+in+sirn+irn+srn+rn+sin+in+sn+n+sirio+irio+srio+rio+siio+ +iio+sio+io+siro+iro+sro+ro+sio+io+so+o+siri+iri+sri+ri+sii+ii+si+i+sir+ir+sr+r+si+i+s
|
|
|
|