Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2003.08.11;
Скачать: [xml.tar.bz2];

Вниз

Задачка...   Найти похожие ветки 

 
UserName   (2003-07-23 20:37) [0]

Вот тут мне недавно задали такую задачку: нужно "поменять" значения двух переменных (тоесть в первую переменную записать значение второй, а во вторую соответсвенно значение первой), без использования вспомогательных переменных переменной.
Говорят, существует "чисто математическое решение", но я его пока не нашел. А какие у вас идеи?


 
AlexRush   (2003-07-23 20:39) [1]

Чисто математически это невозможно.
но есть

asm
xchg eax,ebx
end;


 
ZZ   (2003-07-23 20:45) [2]

:) Такие задачки задают на олимпиаде в 8 классе :) И балл у них не очень большой...
ЗЫ. А попробуй на бумажке поскладывать и повычитьать эти числа (там даже умножать не надо) - всего 3 действия


 
Романов Р.В.   (2003-07-23 20:47) [3]

a := a + b
b := a - b
a := a - b



 
SergP   (2003-07-23 20:51) [4]

Вот чисто математически, хотя с использованием дополнительной переменной было бы проще и быстрее...


a:=a+b;
b:=a-b;
a:=a-b;



 
Palladin   (2003-07-23 20:51) [5]

Чисто математического не существует, существует чисто алгоритмическое, указанное выше.


 
Романов Р.В.   (2003-07-23 20:56) [6]


> Чисто математического не существует


В математике и переменных то нет :))

Наверно имелось в виду с использованием математических операций, а не другой способ для целых чисел с использованием логических операций


 
SergP   (2003-07-23 21:00) [7]


> Романов Р.В. © (23.07.03 20:47)
> a := a + b
> b := a - b
> a := a - b


М-да... Вот что значит глючный инет... Разница в 4 минуты...


 
fdutchuo   (2003-07-23 22:01) [8]

a:=a xor b;
b:=a xor b;
a:=b xor a;


 
Anatoly Podgoretsky   (2003-07-23 23:06) [9]

SergP © (23.07.03 20:51)
Математически это вообще абсурд a = a + b


 
SergP   (2003-07-23 23:39) [10]


> Anatoly Podgoretsky © (23.07.03 23:06)
> SergP © (23.07.03 20:51)
> Математически это вообще абсурд a = a + b


1. Не a=a+b, а a:=a+b
2. То что математически это абсурд - в некоторой степени согласен.
3. Имхо вопрошающий хотел увидеть именно это.


 
Романов Р.В.   (2003-07-24 06:07) [11]


> Anatoly Podgoretsky © (23.07.03 23:06)
> SergP © (23.07.03 20:51)
> Математически это вообще абсурд a = a + b


Ничего подобного. b = 0, a - любое число :)))


 
Дрын   (2003-07-24 06:39) [12]

В школе на третем уроке по программированию учитель задал домой эту задачу и сказал: "Кто на следуйщем уроке даст правильный ответ тому в году 5 баллов". Я ответил секунд так через 30-40 и он был в шоке. :)


 
Palladin   (2003-07-24 07:29) [13]

Он наверно понятия не имеет о всемирной глобальной сети



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2003.08.11;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.007 c
14-33343
AlexRush
2003-07-24 18:28
2003.08.11
Ставим на работе новую винду, и вдруг она


4-33398
IKvasnitsky
2003-06-10 11:41
2003.08.11
Вопрос о функции AdjustTokenPriveleges


14-33272
Knight
2003-07-25 08:02
2003.08.11
Не в обиду Жигулям...


6-33251
Сергей_
2003-06-06 13:57
2003.08.11
отправка и прием файла по модему


1-33146
Новик
2003-07-25 16:40
2003.08.11
DLL





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский