Hey Leute,
ich hatte einfach mal langeweile und mir was zusammengeschnippelt, was PI berechnet.
Jetzt wüsste ich gerne mal, was ihr an "Rechenpower" zu geben habt
[tabmenu]
[tab='Alte Version']
[subtab='Funktionsweise'] Das Tool nutzt die Leibnitz-Formel, um sich in 125 Millionen Schritten der Kreiszahl PI anzunähern.
[subtab='Anhänge'] Die Dateien im Anhang für dieses Tool sind "PILeibnitz" und "PILeibnitz Java 6".
[subtab='Source-Code']
public class LeibnitzPi
{
public static void main(String[] agrs)
{
long start = System.currentTimeMillis();
double pi = 1;
for(int i = 1; i < 125000000; i++)
{
if(i % 2 == 0)
pi += 1.0 / (1 + i * 2);
else
pi -= 1.0 / (1 + i * 2);
}
pi *= 4;
if(pi == 3.141592645589324)
System.out.println("Zeit: "+ (System.currentTimeMillis() - start));
}
}
Alles anzeigen
[subtab='Highscores'] Genereller Highscore:
@Rachel: Mit 265ms
Mein Highscore:
1225ms
[subtab='Fehlerbehebung']Der Befehl java wurde nicht gefunden
Java installieren
unsupportet minor version 51.0.0
Entweder auf Java 7 updaten oder den Java 6 Build nehmen
[tab='Version 2']
[subtab='Funktionsweise'] Das Tool nutzt die Leibnitz-Formel, um sich in 125 Millionen Schritten der Kreiszahl PI anzunähern. Dies wird in 50 Threads, also 50 mal, gemacht
[subtab='Anhänge'] Die Datei im Anhang für dieses Tool ist "PILeibnitz v2".
[subtab='Source-Code']
import java.util.ArrayList;
public class LeibnitzPi
{
public static long time_all = 0;
public static void main(String[] agrs)
{
long startet = System.currentTimeMillis();
long needed = 0;
ArrayList<LeibnitzPiThread> thread = new ArrayList<LeibnitzPiThread>();
for(int i = 0; i < 50; i++)
{
System.out.println("Starte Thread "+ (i + 1) +"...");
LeibnitzPiThread lpit = new LeibnitzPiThread(i + 1);
lpit.start();
thread.add(lpit);
}
System.out.println("Alle gestartet, bitte warte...");
while(thread.size() >= 1)
{
for(int i = 0; i < thread.size(); i++)
{
LeibnitzPiThread th = thread.get(i);
if(th.isAlive() == false)
thread.remove(i);
}
}
needed = System.currentTimeMillis() - startet;
System.out.println("----------");
System.out.println("Threads:\t\t50");
System.out.println("Laufzeit:\t\t"+ needed +"ms");
System.out.println("Laufzeit zusammen:\t"+ time_all +"ms");
System.out.println("----------");
System.exit(0);
}
}
Alles anzeigen
public class LeibnitzPiThread extends Thread implements Runnable
{
private int mythread = 0;
public LeibnitzPiThread(int threadid)
{
mythread = threadid;
}
public void run()
{
long start = System.currentTimeMillis();
double pi = 1;
for(int i = 1; i < 125000000; i++)
{
if(i % 2 == 0)
pi += 1.0 / (1 + i * 2);
else
pi -= 1.0 / (1 + i * 2);
}
pi *= 4;
long timeneeded = System.currentTimeMillis() - start;
System.out.println("--- Thread: "+ mythread +"\nErgebniss: "+ pi +"\nZeit: "+ timeneeded +"\n");
LeibnitzPi.time_all += timeneeded;
}
}
Alles anzeigen
[subtab='Highscores'] Genereller Highscore:
@RoBoy: 4629ms - 173583ms
Mein Highscore:
32722ms - 1554662ms
[subtab='Fehlerbehebung']Noch keine bekannten Fehler gefunden
[/tabmenu]