C# :: Aufgabe #86 :: Lösung #2
3 Lösungen

#86
Giuga-Zahlen berechnen
Anfänger - C#
von Gustl
- 13.02.2015 um 12:42 Uhr
Eine natürliche Zahl n ist eine Giuga-Zahl, wenn alle ihre Primteiler p den Wert n/p - 1 teilen.
Schreibe ein Programm welches alle Giuga-Zahlen bis zu einer festen Obergrenze ausgibt.
Erläuterung zu einer Giuga-Zahl findest du hier: Wikipedia
Schreibe ein Programm welches alle Giuga-Zahlen bis zu einer festen Obergrenze ausgibt.
Erläuterung zu einer Giuga-Zahl findest du hier: Wikipedia
#2

von Robi (390 Punkte)
- 06.01.2016 um 09:51 Uhr
Nicht schön, aber funktioniert. Das Programm sucht erst für jeden Schleifendurchgang alle Primfaktoren und schaut dann, ob es eine Giuga Zahl ist..
C#-Code

using System; using System.Collections.Generic; namespace Übungen_Zu_CSharp_86 { class Program { static void Main(string[] args) { Console.Write("Obergrenze eingeben: "); long Obergrenze = long.Parse(Console.ReadLine()); for (double i = 2; i <= Obergrenze; i++) { int primzahl = 2; List<int> primfaktoren = new List<int>(); double iTemp = i; int tempPrimfaktoren = 1; do { if (iTemp % primzahl == 0) { tempPrimfaktoren = 1; iTemp = iTemp / primzahl; primfaktoren.Add(primzahl); foreach (int item in primfaktoren) tempPrimfaktoren = tempPrimfaktoren * item; } else { while (iTemp % primzahl != 0) { primzahl++; } } } while (tempPrimfaktoren != i); bool GiugaZahl = false; foreach (double item in primfaktoren) { if ((i / item - 1) == 0) { GiugaZahl = false; break; } else { if ((i / item - 1) % item == 0) GiugaZahl = true; else { GiugaZahl = false; break; } } } if (GiugaZahl) Console.WriteLine("Giuga Zahl :" + i); } Console.ReadKey(); } } }
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1