C# :: Aufgabe #366 :: Lösung #2
6 Lösungen
#366
Zweierpotenz (Power Of Two)
Anfänger - C#
von JKooP
- 06.03.2021 um 11:51 Uhr
Erstelle eine Methode/Funktion, mit der man bestimmen kann,
ob die übergebene Zahl als Ganzzahl- Potenz (Integer) zur Basis 2 geschrieben werden kann.
Beispiele:
Zahl: 1 => true
Lösung: 0, denn 2 hoch 0 = 1
Zahl: 16 => true
Lösung: 4, denn 2 hoch 4 = 16
Zahl: 3 => false
Lösung: keine, da keine Ganzzahl zur Basis 2 die Zahl 3 ergibt
Für Fortgeschrittene:
Die Aufgabe ohne Zuhilfenahme der eingebauten Logarithmusfunktionen lösen.
Viel Spaß
ob die übergebene Zahl als Ganzzahl- Potenz (Integer) zur Basis 2 geschrieben werden kann.
Beispiele:
Zahl: 1 => true
Lösung: 0, denn 2 hoch 0 = 1
Zahl: 16 => true
Lösung: 4, denn 2 hoch 4 = 16
Zahl: 3 => false
Lösung: keine, da keine Ganzzahl zur Basis 2 die Zahl 3 ergibt
Für Fortgeschrittene:
Die Aufgabe ohne Zuhilfenahme der eingebauten Logarithmusfunktionen lösen.
Viel Spaß
#2
von JakS (230 Punkte)
- 08.03.2021 um 12:45 Uhr
class Program
{
static void Main(string[] args)
{
int basis = 2;
int z = 256;
int r = IsBasis(z, basis);
if (r > -1)
Console.WriteLine("Zahl {0} => true, Lösung {1}", z, r);
else
Console.WriteLine("Zahl {0} => false, keine Lösung", z);
}
static int IsBasis(int z, int bas)
{
int ret = -1;
int a = 0;
int i = 0;
if (a < z)
{
while (a < z)
{
a = (int)Math.Pow(bas, i);
if (a == z)
ret = i;
else
i++;
}
}
return ret;
}
}
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1
