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
