Ruby :: Aufgabe #46
2 Lösungen

Alle Primzahlen bis zu einem Maximalwert ermitteln
Anfänger - Ruby
von devnull
- 26.02.2014 um 18:36 Uhr
Es soll ein Programm geschrieben werden, welches alle Primzahlen im Bereich von 2 bis zu einem Maximalwert sucht und auf der Konsole ausgibt.
Den Maximalwert soll der Benutzer beim Programmaufruf auf der Kommandozeile angeben können.
Der Algorithmus zur Primzahlensuche ist frei wählbar.
Den Maximalwert soll der Benutzer beim Programmaufruf auf der Kommandozeile angeben können.
Der Algorithmus zur Primzahlensuche ist frei wählbar.
Lösungen:

puts("Geben Sie ein bis zu welcher Zahl Primzahlen gerneriert werden sollen:") ende = gets().to_i puts("Drücken Sie eine beliebige Taste zum Starten!") gets() zahl = 2 anzahl = 0 (ende-1).times do rest = 0 teiler = 2 mal = zahl - 2 prim = true mal.times do rest = zahl % teiler if rest == 0 then prim = false end #if teiler = teiler + 1 end #mal.times do if prim == true then puts(zahl.to_s) anzahl = anzahl + 1 end #if zahl = zahl + 1 end #ende.times do puts("Von 1 bis " + ende.to_s + " gibt es " + anzahl.to_s + " Primzahlen.");

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Primzahlausgebung { class Program { static void Main(string[] args) { int zahl = 2; int anzahl = 0; Console.WriteLine("Geben Sie ein bis zu welcher Zahl Primzahlen gerneriert werden sollen:"); int ende = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("Drücken Sie zum Starten ENTER..."); Console.ReadLine(); for (int i = 2; i < ende; i++) { bool prim = true; int teiler = 2; int rest = 0; int mal = zahl - 3; if (zahl % 2 == 0) { prim = false; } for (int j = 1; j < zahl - 3; j++) { rest = zahl % teiler; teiler = teiler + 1; if (rest == 0) { prim = false; } } if (zahl == 2) { prim = true; } if (prim == true) { Console.WriteLine(Convert.ToString(zahl)); anzahl++; } zahl++; } Console.WriteLine("Von 1 bis " + Convert.ToInt32(ende) + " gibt es " + Convert.ToInt32(anzahl) + " Primzahlen."); Console.ReadLine(); } } }