Internete radau įdomią mįslę programuotojams. Įprastai kintamuosius a ir b sukeičiame taip:

tmp = a
a = b
b = tmp

Kaip atlikti sukeitimą nenaudojant laikinojo kintamojo tmp?

klausė 22 Lap '11, 19:31

peewhy's gravatar image

peewhy ♦♦
113
priėmimų santykis: 0%


Tai senai žinoma mįslė, dažnai užduodama net darbo pokalbiuose. Praktinio pritaikymo šiais laikais turi mažai, nes tokiu būdu atminties taupyti neverta, tačiau nepaisant to, tai nebloga mankšta smegenims. Tai galima padaryti naudojant atimtį ir sudėtį:

x = x - y;
y = y + x;         
x = y - x;

Kad tai veikia, nesunku įsitikinti pamėginus su paprastais testais. Tiesa, potencialūs trūkumas, kad galima išeiti iš rėžių, nepaisant kad pradiniai skaičiai nebuvo dideli.

ilgalaikė nuoroda

atsakė 22 Lap '11, 19:46

informatikas's gravatar image

informatikas
111
priėmimų santykis: 0%

Jūsų atsakymas
keisti peržiūrą

Sekti šį klausimą

El. paštu:

Kai tik prisijungsite turėsite galimybę prisiregistuoti visiems atnaujinimams

Naudojant RSS:

Atsakymai

Atsakymai ir komentarai

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "pavadinimas")
  • image?![alt text](/path/img.jpg "pavadinimas")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Klausimo žymos:

×14

klausimas pateiktas: 22 Lap '11, 19:31

klausimas peržiūrėtas: 152 kartus

paskutinį kartą atnaujintas: 22 Lap '11, 19:46

powered by OSQA