Du bist nicht angemeldet.

Simon D.

Schüler

  • »Simon D.« ist der Autor dieses Themas

Beiträge: 109

Registrierungsdatum: 08.07.2011

Danksagungen: 41

  • Private Nachricht senden

41

29.01.2013, 17:40

ich kann ja auch noch mit time messen. :D

cedi

Profi

Beiträge: 702

Danksagungen: 78

  • Private Nachricht senden

42

30.01.2013, 06:53

Also ich hab nochmal was gemacht...
Man kann mit der bool Variable umschalten, ob die Zeitmessung nur für die Berechnung (true) oder für die Berechnung und der Ausgabe (false) stattfinden soll...

Spoiler Spoiler


Java-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
import java.io.*;

public class primzahl 
{
	public static String tmp;
	private static boolean timeBeforeOutput = true;
	
	public static void main(String[] args) 
	{
		BufferedReader br = new BufferedReader( new InputStreamReader( System.in ) );

		try 
		{
			System.out.println( "Bitte geben sie die Maximale länge der zu berechnenden Zahlen ein." );
			tmp = br.readLine();
		}
		catch( IOException io ) 
		{
			System.out.println( "Error beim einlesen der Tastatureingaben" );
		}

		int max = 0;
		max = Integer.parseInt( tmp );
		boolean[] isPrim = new boolean[ max + 1 ];

		// Initialierung des Arrays
		for( int i = 0; i <= max; i++ ) 
			isPrim[ i ] = true;

		// 0 und 1 sind keine Primzahlen
		isPrim[ 0 ] = isPrim[ 1 ] = false;

		// alle Vielfachen von Ganzzahlen ausschließen,
		// die kleiner als die Quadratwurzel von max sind.

		long lTimeVorher = System.currentTimeMillis();
		int n = ( int ) Math.ceil( Math.sqrt( max ) );

		for( int i = 0; i <= n; i++ )
			if( isPrim[ i ] )
				for( int j = 2 * i; j <= max; j+=i )
					isPrim[ j ] = false;
			
		long lTimeNacher = 0;		
		if( timeBeforeOutput )
			lTimeNacher = System.currentTimeMillis();

		// Primzahlen ausgeben
		System.out.print( "Primzahlen anzeigen von 0 bis " + max + ": \n" );
		for( int i = 0; i <= max; i++ )
			if( isPrim[ i ] )
				System.out.print( " " + i + " " );
				
		if( !timeBeforeOutput )
			lTimeNacher = System.currentTimeMillis();
			
		System.out.println( "Es hat genau " + (( lTimeNacher - lTimeVorher) /* 0.001*/ ) + " Millisekunden gedauert" );

		System.out.println();
	}
}


4g3nt0r4ng3

unregistriert

43

30.01.2013, 14:25

PHP-Quelltext

1
2
3
4
5
6
7
8
$f fopen("prime.txt""w");
$count 0;  $last 0;
while($count 1000000) {
    $last gmp_strval(gmp_nextprime($last));
    fwrite($f$last."\n");
    $count++;
}
fclose($f);


läuft allerdings nur mit gmp extension, ist also eventuell am thema vorbei ;)
aber alles andere wäre in php mit zahlen in der größenordnung nicht sinnig

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »4g3nt0r4ng3« (30.01.2013, 14:39)


Simon D.

Schüler

  • »Simon D.« ist der Autor dieses Themas

Beiträge: 109

Registrierungsdatum: 08.07.2011

Danksagungen: 41

  • Private Nachricht senden

44

02.03.2013, 12:55

Ok wie sieht's aus? Kommt da echt nicht mehr oder wars das schon? Wenn bis heute Abend (20 Uhr) nix mehr dann veröffentliche ich die Rangliste der bisher eingereichten Programme
LG
Simon

JuKu

Profi

Beiträge: 574

Registrierungsdatum: 29.09.2011

Danksagungen: 48

  • Private Nachricht senden

45

03.03.2013, 17:21

Ne, Sorry, wir fahren heute für 1 Woche nach London, da habe ich keine Zeit für. :S
Wenn euch mein Beitrag weitergeholfen hat, drückt auf "Bedanken"!
Danke! :D

cedi

Profi

Beiträge: 702

Danksagungen: 78

  • Private Nachricht senden

46

03.03.2013, 21:34

wo bleibt die liste?
ich bin gespannt :D

Simon D.

Schüler

  • »Simon D.« ist der Autor dieses Themas

Beiträge: 109

Registrierungsdatum: 08.07.2011

Danksagungen: 41

  • Private Nachricht senden

47

03.03.2013, 22:40

ich bekomme gerade keinen zugriff auf den Server... aber eins sei mal gesagt: Simons Programm sieht verdammt gut aus. Cedi deins konnte ich noch nicht testen aber deins ist das nächste
LG
Simon

Simon

Profi

Beiträge: 725

Registrierungsdatum: 14.06.2011

Danksagungen: 210

  • Private Nachricht senden

48

03.03.2013, 22:45

Ahh hast du meins noch wiedergefunden? :D

Simon D.

Schüler

  • »Simon D.« ist der Autor dieses Themas

Beiträge: 109

Registrierungsdatum: 08.07.2011

Danksagungen: 41

  • Private Nachricht senden

49

03.03.2013, 22:54

nee habe nur deine alten zahlen. Ich habe ja gerade keinen zugriff mehr auf den server...

cedi

Profi

Beiträge: 702

Danksagungen: 78

  • Private Nachricht senden

50

04.03.2013, 20:42

ich bin schon ganz angespannt :D

Simon D.

Schüler

  • »Simon D.« ist der Autor dieses Themas

Beiträge: 109

Registrierungsdatum: 08.07.2011

Danksagungen: 41

  • Private Nachricht senden

51

13.04.2013, 17:40

ok. Das hat jetzt alles etwas länger gedauert aber nun bin ich ja zurück und kann euch die ergebnisse sagen:

Simon R: (c++)
simon@Server:~$ time ./devtaprime
Time needed: 300300 ms
Primes found: 100000000

real 1m21.600s
user 5m0.199s
sys 0m0.520s


Cedi: (Java)
simon@simon-Laptop:~/Downloads/Primzahlen$ time java Main
^C
real 5m28.947s
user 6m16.476s
sys 0m2.844s

Abbruch nach 5m28.947s mit 12858 Primzahlen auf einem Computer mit Intel Core I5 und 8GB Ram (nicht auf dem Intel Atom server)


Simon D:
Findet sein Programm nicht mehr :D War aber definitiv im Test nicht besser wie Simon R.
Aktueller Gewinner: Simon R!

Gratulation!

cedi

Profi

Beiträge: 702

Danksagungen: 78

  • Private Nachricht senden

52

14.04.2013, 23:22

:D alter ist das abgekackt xD
naja, ich sollte mal auch noch C++ probieren xD

Wie viele Primzahlen hast du nochmal testen lassen?

Simon D.

Schüler

  • »Simon D.« ist der Autor dieses Themas

Beiträge: 109

Registrierungsdatum: 08.07.2011

Danksagungen: 41

  • Private Nachricht senden

53

15.04.2013, 00:53

100000 sind zu erzeugen. Ich habe bei dir bei ca. 13000 Abgebrochen. Schade das es so wenige Teilnehmer gab...

mfg
Simon

cedi

Profi

Beiträge: 702

Danksagungen: 78

  • Private Nachricht senden

54

15.04.2013, 20:34

alter, ich hatte in erinnerung das es schneller ging xD egal
ist ja auch Java :D
Ich probiers wenn ich Zeit hab, mal in C++ :D

Ähnliche Themen