Rechenaufwändiger, kurzer Codeschnipsel gesucht!

Status
Nicht offen für weitere Antworten.

0001001

Bekanntes Mitglied
Hallo,

für ein Beispiel in einem kleinen Tutorial suche ich folgendes:

Einen möglichst kurzen, einfachverständlichen Codeschnipsel. Die Berechnung die dieser ausführt sollte ein paar Sekunden dauern. Die Zeit für die Berechnung sollte sich einstellen lassen (so 5-20 Sekunden). Ist natürlich je Rechner unterschiedlich.

Ich dachte da an folgende Sachen: Die x.te Fibonacci Zahl berechnen, Wurzel ziehen, Zahlen sortieren...

Leider fällt mir nichts vernünftiges ein, nur ein doofes Sortierbeispiel bei dem Zahlen 100 mal sortiert werden:

Code:
	public static void doit(){
		int[] intarray = new int[2000000];
		for(int j = 1; j<100;j++){
			for(int i=0;i<2000000;i++){
				intarray[i] = (int)(Math.random() * 100) + 1;
			}			
			java.util.Arrays.sort( intarray );
		}

	}


Vielleicht fällt jemand von euch ja was besseres und simpleres ein.
 

Der Müde Joe

Top Contributor
möchtest du einfach warten..also zeit verzögern?
oder wieso sinnlos rechnen lassen?

erstes:
Thread.sleep(5000);
 

0001001

Bekanntes Mitglied
Ne, Thread.sleep(5000) ist zu billig.
Das Ganze soll ein kleines Tutorial über Threads werden und da bräuchte ich einen Thread der "relativ" lange braucht. Aber der Code soll möglichst einfach sein, denn was der Code macht ist egal, hauptsache es dauert...
 

0001001

Bekanntes Mitglied
Ja, das wär beispielsweise was. Hast du dafür ein Codebeispiel?
EDIT: hm, hab hier im forum was gefunden aber der code ist einfach zu lang.
 

Kim Stebel

Bekanntes Mitglied
implementier doch die fakultätfunktion. das ist ein simpler zweizeiler:
long factorial(int x)
{
if (x==1) return 1;
return x*factorial(x-1);
}
 

Saxony

Top Contributor
Hiho,

Code:
for(i = 0; i < Long.MAX_VALUE; i++);

Ist kurz und dauert auch recht lange. :)

bye Saxony
 

Kim Stebel

Bekanntes Mitglied
@saxony: dann kann er ja gleich for( ; ; ) ; nehmen

EDIT:dummes Forum hält Java-Code für smileys...
 

Saxony

Top Contributor
Kim Stebel hat gesagt.:
@saxony: dann kann er ja gleich for( ; ; ) ; nehmen

EDIT:dummes Forum hält Java-Code für smileys...

Nene

1. muss er ja eine Abbruchbedingung haben (2^(63)-1)
2. Gibts dafür die code tags.

:D

bye Saxony
 

Saxony

Top Contributor
Kim Stebel hat gesagt.:
zu 2.: code tags für 8 Zeichen Code...

Yep weil dadurch würdest du dir die 4 Whitespaces sparen welche nötig sind um kein Smiley entstehen zu lassen.
D.h. aus den 12 Zeichen werden dann erst die echten 8.
 

Saxony

Top Contributor
Was auch geht ist die Ableitung von Polynomen n-ten Grades. Lässt sich auch auf wenigen Zeilen machen.

Ich glaube aber eher er möchte so nen Einzeiler für sein Tutorial.
Es wird ihm nix nützen wenn die Leser des Tuts schon 3 Tage brauchen um sein Beispiel zu verstehen.

bye Saxony

[edit]
Übrigens könnte man sich uach mal die do_nothing_loop() der Windows Implementierung anschauen. :D :D
[/edit]
 

ms

Top Contributor
0001001 hat gesagt.:
Ne, Thread.sleep(5000) ist zu billig.
Das Ganze soll ein kleines Tutorial über Threads werden und da bräuchte ich einen Thread der "relativ" lange braucht. Aber der Code soll möglichst einfach sein, denn was der Code macht ist egal, hauptsache es dauert...
Gerade für ein Tutorial würde ich einen selbsterklärenden Einzeiler wie Thread.sleep(...) verwenden.

ms
 

0001001

Bekanntes Mitglied
Hallo,

danke erstmal für die ganzen Antworten.
Nein es muss kein Einzeiler sein, aber halt nicht mehr als 10-15 Zeilen. Wie gesagt ist es nebensächlich was der Thread tut, hauptsache es dauert und es kommt am Ende irgendein Ergebnis raus. Ne for-Schleife find ich auch zu simplel.

Vielleicht hat ja jemand zufällig mal was programmiert und sich gedacht: "Wow warum dauert diese Berechnung jetzt so lange"
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben