kleiner programmier wettbewerb

Wollt ihr ein Programmierspiel?

  • Ja

    Stimmen: 59 88,1%
  • Nein

    Stimmen: 8 11,9%

  • Anzahl der Umfrageteilnehmer
    67
  • Umfrage geschlossen .


MyConfig ist ja schon fasst fertig, nur fehlt noch das gewisse etwas :fresse:
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
die lauffähigkeit ?? :p
 
nein es läuft :motz: nur es hapert noch am design :motz:
 
Also ich würde das ganze etwa so machen:

- freie Wahl der Sprache
- keine Zeilenbeschränkung
- mit der Zeitbeschränkung würd ich sagen kommt es auf die Aufgabe drauf an, dass sollte der Aufgabensteller in seinem ermessen beurteilen
- Code online stellen und in kurzen Worten erklären. Damit kann man abschätzen, ob der / die jenige den Code ausm Internet gegoogelt hat oder sich wirklich damit auskennt.
- Mit Punkten bewerten würd ich das ganze nicht, es soll ja kein Wettbewerb werden, imo sollte die Freude am Programmieren im Vordergrund stehen, bei der Anfänger anhand der Erklärung auch etwas lernen können.

Zudem könnte der Wettbewerb hier das Forum etwas beleben, also stimme ich mal für ja ;)


so far
mfg
 
Also ich wäre durchaus dabei, da ich hier sicherlich noch etwas lernen kann.
Aber dann sollten wir mal hinne machen und diesen Thread nicht sterben lassen.
1. Freie Wahl der Sprache
2. Brauchen wir eine kompetente Jury.
3. Startpunkt und Endpunkt.
4. Problemstellung selbst sollte plattformunabhängig sein (So etwas wie den Changer bekommt man mit etwas Übung sicherlich in .Net am einfachten hin, aber da es hier nicht um Denken, sodern um stupides Suchen und Einsetzen geht halte ich dieses Problem für nicht hinreichend.)
5. Der Preis ist heiß: Falls wir zufällig auf eine Lösung für folgende Problem stoßen sind wir reich: 21 Probleme

Also auf los gehts los.
 
Hallo!
ich wäre gleich dabei, wenn man selbst die sprache wählen kann, und man mit asm auch mitmachen kann! (das lerne ich nählich gerade)
und wenn möglich solten schwiegigkeitsstufen mit drin sein! z.b. für eine schwerere aufgabe bekommt man mehr punkte als für eine leichtere!

das wäre super wenn wir das so hinkriegen würden!

thx
skyfire
 
ok ich mach jetzt mal einen konreten vorschlag:
Primzahlen suchen zwischen 0 und x
bewertet wird nach der benötigten zeit und natürlich korrektheit des algorithmus. Is vieleicht nicht super innovativ aber ein guter anfang würd ich sagen.
 
Bei soetwas müsste man dann noch das verwendete OS und die Programmiersprache festlegen. Da könnte es "kleinere" Unterschiede bei den Laufzeiten geben :d
 
PHP:
<?php
$max = $_GET['max'];

$primzahlen = array();
    
    for ($i = 2; $i <= $max; ++$i) {
        $primzahl = true;
        
        foreach ($primzahlen as $number) {
            if ($i % $number == 0) {
                $primzahl = false;
            }
        }
        
        if ($primzahl) {
            $primzahlen[] = $i;
        }
    }

    foreach ($primzahlen as $wert) {
        echo $wert."<br/>";
    }
?>


bekomm ich jetzt nen eis? :P
 
Nachdems auch auf Geschwindigkeit gehen soll - Nein :p

*Java Quelltext raussuch* :d
(Ich weiß, dass Java auch nicht schnell ist ;))



Code:
public class Primzahlen 
{
	static Boolean isPrim (int zahl)
	{
		for (int i=2; i<zahl && i*i<zahl; i++)
		{
			if (zahl%i==0)
				return (false);	
		}
		return (true);	
	}	

	public static void main (String[] args)
	{
		int obergrenze = 10, untergrenze = 2;
		if (args.length < 1 || args.length > 2)
		{
			System.out.println ("How to use: Primzahlen Untergrenze Obergrenze");
			System.out.println ("Or: Primzahlen Obergrenze");
			System.exit (1);
		}
		else if (args.length == 1)
		{
			obergrenze = Integer.parseInt (args[0]);
		}
		else if (args.length == 2)
		{
			untergrenze = Integer.parseInt (args[0]);
			obergrenze = Integer.parseInt (args[1]);
		}
		
		int i;
		
		for (i=untergrenze; i<obergrenze; i++)
		{
			if (isPrim(i))
			{
				System.out.println (i);
			}
		}
	}
}

Keine Garantie auf fehlerfreiheit - war eine meiner 1. Programmierübungen in Java und ich bin jetzt zu faul zum Testen ;)
Das ganze geht natürlich auch viel kürzer ...
 
Zuletzt bearbeitet:
okay evtl noch ein wenig kuerzer?
<?php
$max
= $_GET['max'];

$primzahlen = array();

for (
$i = 2; $i <= $max; ++$i) {
$primzahl = true;

foreach (
$primzahlen as $number) {
if (
$i % $number == 0) {
$primzahl = false;
}
}

if (
$primzahl) {
echo $i."<br/>";
}
}


?>
 
bekomm ich jetzt nen eis? :P
ne... da laesst sich schon noch tunen... erstmal nur alle ungeraden zaehlen testen, die for() durch ne while ersetzen, und in der zweiten foreach (die auch eine while sein sollte) ein break; wenn primzahl = false rein. und die string nicht als "<br/>" ausgeben sondern als '<br/>', dann wird der nicht nochmal extra auf variablen geparst.

oder?
 
oO ihr müsst schon die Zeit messen die euer Programm braucht auserdem sollten wir da eine einheitliche grenze festlegen.

Der Unterschied durch die verschiedenen Sprachen dürfte glaub ich garnicht so groß sein wir verwenden eh unterschiedliche Rechner.

Ich würd mal sagen wir testen zwischen 1 und 1mio
da gibt es 78498 Primzahlen (die 1 ist keine Primzahl)
Mein aktuelles Programm schafft das in 0,016 Sekunden wobei ich glaub die Zeitmessung gerät da langsam an die Grenzen ihrer Genauigkeit.
 
0,016 sekunden? :stupid: dann kann an meinem proggy was nicht stimmen, das die zeitgrenze nach 60sek kommt :fresse: gut liegt wohl an php ;) ist ja nur ne skript sprache
 
Hey Jungens.
Zuerst sollte die Aufagbe bzw. der Wettbewerb mit einer Bewerbungsfrist ausgeschrieben werden und anschließend können sich die Teilnehmer melden.
Und erst danach wird die Aufgabe bekanntgegeben.
Bewerbungskriterien können z.B. sein: Korrektheit, Komplexität und Schönheit des Codes.
Schönheit des Codes:
1. Übersichtlichkeit ( 50 %)
2. Kommentare ( 40 %)
3. Zeilenanzahl ( 10 % )

Aber bitte nicht eine Aufgabe stellen und dazu 100 verschiedene Lösungen geben.
Nichts desto trotz meine Lösung in Java mit Faktorisierung ;).

Code:
import java.util.Vector;

public class PrimeIt {
	private int primer=0;
	
	public PrimeIt (int primer) {
		this.primer = primer;
	}

	public PrimeIt(){
		primer = 100;	
	}

	public static void main(String[] args){
		PrimeIt primeable = new PrimeIt(10000);
		System.out.println(primeable.getPrimes());		
	}

	public Vector<Integer> getPrimes(){
		Vector<Integer> returnVector = new Vector<Integer>();

		if(primer == 1){
			returnVector.addElement(1);
			return 	returnVector;
		}

		if(primer == 2){
			returnVector.addElement(1);
			returnVector.addElement(2);
			return returnVector;
		}

		returnVector.addElement(1);
		returnVector.addElement(2);

		for(int i=3;i<=primer;i++){
			for(int j=1;j<returnVector.size();j++){
				if(i%( (int) returnVector.get(j) ) == 0)
					break;
				if (j != (returnVector.size()-1))
					continue;
				returnVector.addElement(i);
			}
		}

		return returnVector;
	}
}

Ausgabe:
[1, 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71,
73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157,
163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241,
251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347,
349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439,
443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547,
557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643,
647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751,
757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859,
863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977,
983, 991, 997, 1009, 1013, 1019, 1021, 1031, 1033, 1039, 1049, 1051, 1061, 1063,
1069, 1087, 1091, 1093, 1097, 1103, 1109, 1117, 1123, 1129, 1151, 1153, 1163, 1
171, 1181, 1187, 1193, 1201, 1213, 1217, 1223, 1229, 1231, 1237, 1249, 1259, 127
7, 1279, 1283, 1289, 1291, 1297, 1301, 1303, 1307, 1319, 1321, 1327, 1361, 1367,
1373, 1381, 1399, 1409, 1423, 1427, 1429, 1433, 1439, 1447, 1451, 1453, 1459, 1
471, 1481, 1483, 1487, 1489, 1493, 1499, 1511, 1523, 1531, 1543, 1549, 1553, 155
9, 1567, 1571, 1579, 1583, 1597, 1601, 1607, 1609, 1613, 1619, 1621, 1627, 1637,
1657, 1663, 1667, 1669, 1693, 1697, 1699, 1709, 1721, 1723, 1733, 1741, 1747, 1
753, 1759, 1777, 1783, 1787, 1789, 1801, 1811, 1823, 1831, 1847, 1861, 1867, 187
1, 1873, 1877, 1879, 1889, 1901, 1907, 1913, 1931, 1933, 1949, 1951, 1973, 1979,
1987, 1993, 1997, 1999, 2003, 2011, 2017, 2027, 2029, 2039, 2053, 2063, 2069, 2
081, 2083, 2087, 2089, 2099, 2111, 2113, 2129, 2131, 2137, 2141, 2143, 2153, 216
1, 2179, 2203, 2207, 2213, 2221, 2237, 2239, 2243, 2251, 2267, 2269, 2273, 2281,
2287, 2293, 2297, 2309, 2311, 2333, 2339, 2341, 2347, 2351, 2357, 2371, 2377, 2
381, 2383, 2389, 2393, 2399, 2411, 2417, 2423, 2437, 2441, 2447, 2459, 2467, 247
3, 2477, 2503, 2521, 2531, 2539, 2543, 2549, 2551, 2557, 2579, 2591, 2593, 2609,
2617, 2621, 2633, 2647, 2657, 2659, 2663, 2671, 2677, 2683, 2687, 2689, 2693, 2
699, 2707, 2711, 2713, 2719, 2729, 2731, 2741, 2749, 2753, 2767, 2777, 2789, 279
1, 2797, 2801, 2803, 2819, 2833, 2837, 2843, 2851, 2857, 2861, 2879, 2887, 2897,
2903, 2909, 2917, 2927, 2939, 2953, 2957, 2963, 2969, 2971, 2999, 3001, 3011, 3
019, 3023, 3037, 3041, 3049, 3061, 3067, 3079, 3083, 3089, 3109, 3119, 3121, 313
7, 3163, 3167, 3169, 3181, 3187, 3191, 3203, 3209, 3217, 3221, 3229, 3251, 3253,
3257, 3259, 3271, 3299, 3301, 3307, 3313, 3319, 3323, 3329, 3331, 3343, 3347, 3
359, 3361, 3371, 3373, 3389, 3391, 3407, 3413, 3433, 3449, 3457, 3461, 3463, 346
7, 3469, 3491, 3499, 3511, 3517, 3527, 3529, 3533, 3539, 3541, 3547, 3557, 3559,
3571, 3581, 3583, 3593, 3607, 3613, 3617, 3623, 3631, 3637, 3643, 3659, 3671, 3
673, 3677, 3691, 3697, 3701, 3709, 3719, 3727, 3733, 3739, 3761, 3767, 3769, 377
9, 3793, 3797, 3803, 3821, 3823, 3833, 3847, 3851, 3853, 3863, 3877, 3881, 3889,
3907, 3911, 3917, 3919, 3923, 3929, 3931, 3943, 3947, 3967, 3989, 4001, 4003, 4
007, 4013, 4019, 4021, 4027, 4049, 4051, 4057, 4073, 4079, 4091, 4093, 4099, 411
1, 4127, 4129, 4133, 4139, 4153, 4157, 4159, 4177, 4201, 4211, 4217, 4219, 4229,
4231, 4241, 4243, 4253, 4259, 4261, 4271, 4273, 4283, 4289, 4297, 4327, 4337, 4
339, 4349, 4357, 4363, 4373, 4391, 4397, 4409, 4421, 4423, 4441, 4447, 4451, 445
7, 4463, 4481, 4483, 4493, 4507, 4513, 4517, 4519, 4523, 4547, 4549, 4561, 4567,
4583, 4591, 4597, 4603, 4621, 4637, 4639, 4643, 4649, 4651, 4657, 4663, 4673, 4
679, 4691, 4703, 4721, 4723, 4729, 4733, 4751, 4759, 4783, 4787, 4789, 4793, 479
9, 4801, 4813, 4817, 4831, 4861, 4871, 4877, 4889, 4903, 4909, 4919, 4931, 4933,
4937, 4943, 4951, 4957, 4967, 4969, 4973, 4987, 4993, 4999, 5003, 5009, 5011, 5
021, 5023, 5039, 5051, 5059, 5077, 5081, 5087, 5099, 5101, 5107, 5113, 5119, 514
7, 5153, 5167, 5171, 5179, 5189, 5197, 5209, 5227, 5231, 5233, 5237, 5261, 5273,
5279, 5281, 5297, 5303, 5309, 5323, 5333, 5347, 5351, 5381, 5387, 5393, 5399, 5
407, 5413, 5417, 5419, 5431, 5437, 5441, 5443, 5449, 5471, 5477, 5479, 5483, 550
1, 5503, 5507, 5519, 5521, 5527, 5531, 5557, 5563, 5569, 5573, 5581, 5591, 5623,
5639, 5641, 5647, 5651, 5653, 5657, 5659, 5669, 5683, 5689, 5693, 5701, 5711, 5
717, 5737, 5741, 5743, 5749, 5779, 5783, 5791, 5801, 5807, 5813, 5821, 5827, 583
9, 5843, 5849, 5851, 5857, 5861, 5867, 5869, 5879, 5881, 5897, 5903, 5923, 5927,
5939, 5953, 5981, 5987, 6007, 6011, 6029, 6037, 6043, 6047, 6053, 6067, 6073, 6
079, 6089, 6091, 6101, 6113, 6121, 6131, 6133, 6143, 6151, 6163, 6173, 6197, 619
9, 6203, 6211, 6217, 6221, 6229, 6247, 6257, 6263, 6269, 6271, 6277, 6287, 6299,
6301, 6311, 6317, 6323, 6329, 6337, 6343, 6353, 6359, 6361, 6367, 6373, 6379, 6
389, 6397, 6421, 6427, 6449, 6451, 6469, 6473, 6481, 6491, 6521, 6529, 6547, 655
1, 6553, 6563, 6569, 6571, 6577, 6581, 6599, 6607, 6619, 6637, 6653, 6659, 6661,
6673, 6679, 6689, 6691, 6701, 6703, 6709, 6719, 6733, 6737, 6761, 6763, 6779, 6
781, 6791, 6793, 6803, 6823, 6827, 6829, 6833, 6841, 6857, 6863, 6869, 6871, 688
3, 6899, 6907, 6911, 6917, 6947, 6949, 6959, 6961, 6967, 6971, 6977, 6983, 6991,
6997, 7001, 7013, 7019, 7027, 7039, 7043, 7057, 7069, 7079, 7103, 7109, 7121, 7
127, 7129, 7151, 7159, 7177, 7187, 7193, 7207, 7211, 7213, 7219, 7229, 7237, 724
3, 7247, 7253, 7283, 7297, 7307, 7309, 7321, 7331, 7333, 7349, 7351, 7369, 7393,
7411, 7417, 7433, 7451, 7457, 7459, 7477, 7481, 7487, 7489, 7499, 7507, 7517, 7
523, 7529, 7537, 7541, 7547, 7549, 7559, 7561, 7573, 7577, 7583, 7589, 7591, 760
3, 7607, 7621, 7639, 7643, 7649, 7669, 7673, 7681, 7687, 7691, 7699, 7703, 7717,
7723, 7727, 7741, 7753, 7757, 7759, 7789, 7793, 7817, 7823, 7829, 7841, 7853, 7
867, 7873, 7877, 7879, 7883, 7901, 7907, 7919, 7927, 7933, 7937, 7949, 7951, 796
3, 7993, 8009, 8011, 8017, 8039, 8053, 8059, 8069, 8081, 8087, 8089, 8093, 8101,
8111, 8117, 8123, 8147, 8161, 8167, 8171, 8179, 8191, 8209, 8219, 8221, 8231, 8
233, 8237, 8243, 8263, 8269, 8273, 8287, 8291, 8293, 8297, 8311, 8317, 8329, 835
3, 8363, 8369, 8377, 8387, 8389, 8419, 8423, 8429, 8431, 8443, 8447, 8461, 8467,
8501, 8513, 8521, 8527, 8537, 8539, 8543, 8563, 8573, 8581, 8597, 8599, 8609, 8
623, 8627, 8629, 8641, 8647, 8663, 8669, 8677, 8681, 8689, 8693, 8699, 8707, 871
3, 8719, 8731, 8737, 8741, 8747, 8753, 8761, 8779, 8783, 8803, 8807, 8819, 8821,
8831, 8837, 8839, 8849, 8861, 8863, 8867, 8887, 8893, 8923, 8929, 8933, 8941, 8
951, 8963, 8969, 8971, 8999, 9001, 9007, 9011, 9013, 9029, 9041, 9043, 9049, 905
9, 9067, 9091, 9103, 9109, 9127, 9133, 9137, 9151, 9157, 9161, 9173, 9181, 9187,
9199, 9203, 9209, 9221, 9227, 9239, 9241, 9257, 9277, 9281, 9283, 9293, 9311, 9
319, 9323, 9337, 9341, 9343, 9349, 9371, 9377, 9391, 9397, 9403, 9413, 9419, 942
1, 9431, 9433, 9437, 9439, 9461, 9463, 9467, 9473, 9479, 9491, 9497, 9511, 9521,
9533, 9539, 9547, 9551, 9587, 9601, 9613, 9619, 9623, 9629, 9631, 9643, 9649, 9
661, 9677, 9679, 9689, 9697, 9719, 9721, 9733, 9739, 9743, 9749, 9767, 9769, 978
1, 9787, 9791, 9803, 9811, 9817, 9829, 9833, 9839, 9851, 9857, 9859, 9871, 9883,
9887, 9901, 9907, 9923, 9929, 9931, 9941, 9949, 9967, 9973]
 
Zuletzt bearbeitet:
aber ich mein, wenn einer in asm proggt und einer in basic sollte das schon nen unterschied in der bewertung geben oder?
 
Nein, wenn das Problem gelöst wurde, wurde es gelöst, sonst können wir auch gleich die Sprache festlegen.
 
1. Übersichtlichkeit ( 50 %)
2. Kommentare ( 40 %)
3. Zeilenanzahl ( 10 % )
Was sollen den das für Bewertungskriterien sein, und wer soll da bitteschön bewerten?
das ganze muss schon sinn geben und die Primzahlen bedürfen immerhin keiner Bewertung.
 
Ich finde ihr überstürzt das ganze jetzt ein wenig.

Es sollte eine Jury geben, bestehend aus ca. 5 Mitgliedern, von denen die Stimmen der ersten 3 entscheidend sind (falls mal einer längere Zeit weg ist wird der Wettbewerb nicht aufgehalten) Die Zahl kann man natülich auch erhöhen.

Die Jury sollte dann anhand der Kriterien darüber entscheiden, wessen Lösung die beste war. Zudem sollte sie auf Einhaltung der Zeit usw achten.

Nur dann kann es imo einen halbwegs fairen Wettbewerb geben.

Oder aber man knickt das ganze mit dem Wettkampf und programmiert einfach zum Spaß ;)


so far
mfg
 
Dann macht doch mal Vorschläge für eine konkrete Umsetzung mir fällt nichts ein wie das fair ablaufen soll.

1. Die Jury darf selber nicht mitmachen ( auch irgendwie unfair)
2. Die wenigstens beherschen mehr als eine Sprache so gut das sie ein in ihre geschriebenes Programm nach den bisher genannten kriterien bewerten können.
3. Die Jury müsste gewählt werden.
 
kommt drauf an, wie ich wohl zeit habe.
aber wenn bitte "offener", d.h. falls ich mitmache dann mit java - das lerne ich grade eh.

abgesehn davon ist schaltjahrbestimmen keine gute aufgabe, dank der unregelmäßigkeiten (wie war das, alle 50 oder 150 oder so jahre wird eins ausgelassen) ist dass bissl tricky.

das problem das ich sehe: alle "kleinen" aufgaben findet man mit ein bissl googlen als quelltext oder als fertige library...

Es gibt dafür eine Formel :lol:

(sry 4 ot)
 
Ahja ich halte aber nichts von diesen Kriterien vorallem nicht wenn man sie verallgemeinert auf alle Projekte anwendet.

Übersichtlichkeit ist mal rein Subjektiv.
Kommentare braucht ein guter Programmierer kaum oder garnicht, man kann durchaus so Programmieren das man Kommentare nicht braucht.
Und die Zeilen zahl is ja mal völlig irrelevant zumal man zumindest in C++ sein ganzes Programm sowohl in eine Zeile schreiben kann oder auch in unnötig viele aufsplitten.
Komplexität halte ich auch für wenig sinnvoll da komplexität aus dem Problem resultiert.

erweiterbarkeit, runtime , Algorithmus , Korrektheit sind je nach Project wesentlich wichtiger z.B. beim Primzahl such Programm sind wohl runtime und Korrektheit am wichtigsten.
 
Zuletzt bearbeitet:
Naja du scheinst dich ja echt auszukennen:
Komplextät
Es kann durchaus sein, dass ein komlexes Problem eine triviale Lösung hat und somit resultiert die Komplexität eben nicht aus der Problemstellung, sondern aus dem Lösungsansatz (Du bezeichnest die Komplexität als runtime, siehe Landau).
Weiterhin sind Kommentare äusserst wichtig, da nicht jeder den gleichen Programmieransatz verfolgt.
Wenn ich deiner Ansicht nach alles in eine Zeile schreibe würde, könnte ich zwar für die Zeilenanzahl eine 1 bekommen aber für die Übersichtlichkeit eine 6 und da beide Kriterien nicht gleich gewichtet sind würde durchaus eine schlechte Note herauskommen.
Aber ich gebe dir Recht, dass sich darüber streiten lässt.

Erweiterbarkeit als Kriterium in einem Programmierwettbewerb mitaufzunehemen, dessen Ergebnise nicht kommerziell genutzt werden ist für die Mülltonne.
Korrektheit hatte ich angegeben.
Was meinst du mit Algorhitmus ? Soll ich den Code als Kriterium für den Code verwenden ?

Wie es aussieht habe ich 2 Kriterien angegeben die dir äusserst wichtig waren.
Also wenn ich das nächste mal meine du sollst meinen Post richtig lesen, dann lese ihn bitte richtig und wenn du etwas nicht verstehst dann frag.
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh