Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: GentooForum.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

23.05.2004, 21:25

2 * Denksport

Aus der Schule kennen wir es alle:
Um die Inhalte zweier Variablen zu tauschen benötigt man eine dritte hilfsvariable.
:arrow: Nein.

Es geht allein mit arithmetischen Operationen. (also + - * : usw. )
Gibt mir eine folge von Instruktionen, die dies machen :!:
Anfang etwa so:
[code:1]
a=5
b=9
...
...
...
a=9
b=5[/code:1]

:?:

es gibt mehrere Lösungen und auch eine, die auf Logik (also bitweise UND, ODER, XODER) aufbaut......versucht's
Wer meint Jemand zu sein hat aufgehört Jemand zu werden.

2

23.05.2004, 23:09

das müsste doch wohl eigentlich rekursiv gehen oder?
lich nehme jetzt an, dass a kleiner als b ist.

ich probiers ma... kann aber nur delphi/pascal

procedure variablen_tausch;
begin
if a=b then
else
inc(a,1);
variablen_tausch;
dec(b,1)

end;


keine ahnung obs klappt bin auch schlaftrunken jetzt.. naja was solls...
und weg.
Gentoo 1.4
KDE 3.2.2
-------------
AMD Athlon XP 2000+;
256 MB-DDR RAM
80GB WD HDD
ASUS A7V8X
Geforce 3

3

24.05.2004, 01:27

Verzeih, wenn ich mich nicht klar genug ausgedrückt habe:

Prozeduren o.ä. stehen nicht zur Verfügung. Da ist ja der Keller die Hilfsvariable etc. Neee, stell dir eine Sprache wie GW-Basic vor. Imperativ, nichtmal ein GOTO oder IF.
Wer meint Jemand zu sein hat aufgehört Jemand zu werden.

4

24.05.2004, 09:25

ne, war wohl mein fehler... habe gestern das alles nur so überflogen..
Gentoo 1.4
KDE 3.2.2
-------------
AMD Athlon XP 2000+;
256 MB-DDR RAM
80GB WD HDD
ASUS A7V8X
Geforce 3

5

24.05.2004, 13:52

ich weis nicht ob es allgemein geht, aber:

a = 5
b = 9
a = b - a
b = b - a \\ 5
a = b + a \\ 9


Es muesste eigentlich auch allgemein gelten, wenn man es nachrechnet mit allgemeinen a und b passt es

6

24.05.2004, 15:34

a = 5 (0101)
b = 9 (1001)
a = a [xor] b (1100)
b = b [xor] a (0101)
a = a [xor] b (1001)

hab das vorher auch nich gekannt, aber das is echt ne feine sache. würde mal in den raum stellen, dass die variante mit binäroperator was für performance fetischisten ist.

7

24.05.2004, 17:21

Jo, B4n4$u4 hat schon mal eine richtige Lösung angegeben. Jetzt fehlt noch die arithmetische.
thundersteele: Deinen \\-Operator musst du mir noch erklären. ...


Zumindest die arithmetische Lösung die ich kenne ist auch 3-Zeilig und hat nur + und -
Wer meint Jemand zu sein hat aufgehört Jemand zu werden.

8

24.05.2004, 18:13

ich denke dass \\ keine operatoren sind sondern einfach ein kommentar sein sollen...
afaik ist aber der lösungsweg auch richtig...
Gentoo 1.4
KDE 3.2.2
-------------
AMD Athlon XP 2000+;
256 MB-DDR RAM
80GB WD HDD
ASUS A7V8X
Geforce 3

9

24.05.2004, 19:22

Zitat

Original von cauboy

ich denke dass \\ keine operatoren sind sondern einfach ein kommentar sein sollen...
afaik ist aber der lösungsweg auch richtig...


Pling!
Ja, jetzt wo du es sagst. Es ist richtig.

... war nur voll von den \\ verwirrt.
Wer meint Jemand zu sein hat aufgehört Jemand zu werden.

10

24.05.2004, 19:26

Zitat

Original von thundersteele


Es muesste eigentlich auch allgemein gelten, wenn man es nachrechnet mit allgemeinen a und b passt es


Ja, und beweisen lässt es sich nat. auch:

a , b € K (K beliebiger Körper)
a = b - a
b = b - a <=> b= b - (b-a)
a = b + a <=> a= (b - (b-a) ) + (b-a)

nun zusammenfassen
b = b-b+a = a
a = (b-b+a)+(b-a) = (0+a)+(b-a) = a-a+b = b

das sollte erreicht werden.
Wer meint Jemand zu sein hat aufgehört Jemand zu werden.

11

24.05.2004, 21:54

nachrechnen mit Allgemeinen a und b ist ja im Prinzip ein Beweis, ich habs nur nicht ausgeschrieben.

\\ sollte natürlich ein Kommentar sein // hätte ich vielleicht schreiben sollen.

12

25.05.2004, 10:39

jo...
\\ als kommentar habe ich persönlich noch nie gesehen... // wäre angebracht gewesen...

aber man hat ja zum glück ein gehirn. und lässt sich dadurch nicht beirren, ne NonVolatil? ;)
Gentoo 1.4
KDE 3.2.2
-------------
AMD Athlon XP 2000+;
256 MB-DDR RAM
80GB WD HDD
ASUS A7V8X
Geforce 3

13

25.05.2004, 11:40

Zitat

Original von cauboy

jo...
aber man hat ja zum glück ein gehirn. und lässt sich dadurch nicht beirren, ne NonVolatil? ;)


blblblblfffllffffff

Zumindest habe ich \ schon als Modulo-operator gesehen und da es sich ja dabei auch um eine arithmetische OP handelt... aber ja besser hingugggen :-P
Wer meint Jemand zu sein hat aufgehört Jemand zu werden.