C# :: Aufgabe #171 :: Lösung #1
4 Lösungen

#171
Symmetrische Primzahlen
Anfänger - C#
von hollst
- 03.04.2017 um 13:55 Uhr
Wieviele Primzahlen P < 1.000.000 sind rückwärts gelesen auch eine Primzahl, jedoch ungleich sich selbst?
Anmerkung: Die (Prim)zahlen 2, 3, 5, 7, 11 erfüllen nicht die Bedingungen (sind rückwärts gelesen sich selbst gleich),
als erste erfüllt die 13 die Bedingungen.
Anmerkung: Die (Prim)zahlen 2, 3, 5, 7, 11 erfüllen nicht die Bedingungen (sind rückwärts gelesen sich selbst gleich),
als erste erfüllt die 13 die Bedingungen.
#1

von daniel59 (4260 Punkte)
- 04.04.2017 um 09:06 Uhr

using System; using System.Collections.Generic; using System.Linq; namespace ConsoleSymmetrischePrimzahlen { class Program { static void Main(string[] args) { List<string> primes = new List<string>() { }; for (int i = 11; i < 1000000; i += 2) { if (IsPrimeNumber(i)) { primes.Add(i.ToString()); } } var symm = from p in primes let r = new string(p.Reverse().ToArray()) where primes.Contains(r) && r != p select p; foreach (string s in symm) { Console.WriteLine(s); } Console.ReadLine(); } public static bool IsPrimeNumber(int number) { Dictionary<int, int> primes = PrimeFactorization(number); return primes.Count == 1 && primes.First().Value == 1; } public static Dictionary<int, int> PrimeFactorization(int a) { Dictionary<int, int> primes = new Dictionary<int, int>(); for (int b = 2; a > 1; b++) { if (a % b == 0) { int x = 0; while (a % b == 0) { a /= b; x++; } primes.Add(b, x); } } return primes; } } }
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1