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
