# Schleife und Überprüfung



## Starlightgirl (18. Jan 2013)

Hallo zusammen

Ich steh bei einer Aufgabe grad etwas auf der Leitung, vielleicht kann mir ja jemand einen erleuchtenden Tipp geben:

Also ich muss in meinem Programm mehrere Zahlen überprüfen, wenn ich eine Zahl(oder einen Wert) überprüft habe werden daraus zwei neue, diese muss ich wieder beide überprüfen, daraus werden dann wieder je zwei neue (also insgesamt vier) und das geht dan immer so weiter bis entweder die überprüfung stimmt oder die zu prüfende Zahl bereits geprüft wurde. Es werden also immer mehr Zahlen. Das Programm soll für verschieden viele Zahlen funktionieren. Hoffe das klingt verständlich.

Für die Überprüfung verwende ich eine "if" Bedingung, aber wie weiter? Wie schaff ich, dass das sich das immer wiederholt für immer mehr Zahlen? 

Hoffe jemand kann mich auf die richtige Spur bringen, danke schon im Voraus!!


----------



## Timothy Truckle (18. Jan 2013)

Starlightgirl hat gesagt.:


> Für die Überprüfung verwende ich eine "if" Bedingung, aber wie weiter? Wie schaff ich, dass das sich das immer wiederholt für immer mehr Zahlen?


Das Zauberwort dürfte 
	
	
	
	





```
while
```
 heißen...

bye
TT


----------



## Starlightgirl (18. Jan 2013)

Hab ich mir gedacht, aber wie mach ich das wenn es immer mehr Zahlen werden?


----------



## Timothy Truckle (18. Jan 2013)

Starlightgirl hat gesagt.:


> Hab ich mir gedacht, aber wie mach ich das wenn es immer mehr Zahlen werden?


Gibt es dafür keine Vorschrift in der Aufgabe?

bye
TT


----------



## SlaterB (18. Jan 2013)

also erstmal müssen die Zahlen gesammelt werden, und in der Schleife kommt eine nach der anderen dran


----------



## schlingel (19. Jan 2013)

Entweder du machst es wie SlaterB meint oder du packst die Werte in eine Queue die du abarbeitest. Die kannst du dann bei jedem Schleifendurchlauf erweitern wenn du 2 neue Werte bekommst. Mit dem IF brichst du dann entweder aus mit dem gefundenen Wert aus der Schleife aus oder du fügst die zwei neuen Werte hinzu.

Dann hättest du zumindest nur einen O(2^n) Algorithmus anstatt eines O(2^n+2^n).


----------

