C# :: Aufgabe #366 :: Lösung #4

6 Lösungen Lösungen öffentlich
#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ß
#4
vote_ok
von Nerv28 (80 Punkte) - 09.03.2021 um 10:24 Uhr
Quellcode ausblenden C#-Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Zweierpotenz
{
    class Program
    {
        static void Main(string[] args)
        {
            double dEingabe = 0, dTemp = 0;
            bool bTemp = false;
            while (bTemp == false)
            {
                Console.WriteLine("Bitte geben Sie eine Zahl ein.");
                if (!double.TryParse(Console.ReadLine(), out dEingabe)) { Console.Clear(); Console.WriteLine("Bitte geben Sie nur Zahlen ein!"); } else { bTemp = true; }
            }
            dTemp = Math.Round(Math.Pow(dEingabe, 0.5), 1);
            Console.Write("Lösung: ");
            if (dTemp * dTemp != dEingabe) { Console.WriteLine($"keine, da keine Ganzzahl zur Basis 2 die Zahl {dEingabe} ergibt."); } 
            else { Console.WriteLine($"{dTemp}, denn 2 hoch {dTemp} = {dEingabe}"); }
            Console.ReadLine();
        }
    }
}

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben