C# :: Aufgabe #385 :: Lösung #3

4 Lösungen Lösungen öffentlich
#385

Zahl ist Summe von Potenzwerten zur Basis 3

Anfänger - C# von JKooP - 18.04.2021 um 12:49 Uhr
Gegeben ist eine Integer-Zahl im Bereich von 1 bis 1.000.000.
Es soll geprüft werden, ob sich diese Zahl als Summe von Potenzwerten
zur Basis 3 darstellen lässt. Die Reihenfolge der Exponenten ist unerheblich.

Beispiele:
n = 12
Lösung: wahr => 12 = 3^1 + 3^2

n = 91
Lösung: Wahr => 3^0 + 3^2 + 3^4

n = 105
Lösung: Falsch

Erstelle eine Methode/Funktion, die für obige Aufgabenstellung als Ergebnis true/false zurückgibt.

Viel Spaß
#3
1x
vote_ok
von hollst (13980 Punkte) - 19.04.2021 um 15:07 Uhr
Quellcode ausblenden C#-Code
using System;
using static System.Console;
using System.Collections.Generic;

static bool Aufgabe_385(int input)  {
    int temp = 1;
    List<int> pot3 = new() { temp };    
    while ((temp *= 3) <= input)
        pot3.Add(temp);

    for (var i = pot3.Count - 1; i >= 0; i--)
        if (pot3[i] <= input)
            input -= pot3[i];

    return input == 0;
}

for (var i = 1; i < 100; i++)
    WriteLine($"{i,3}: {Aufgabe_385(i)}");

ReadKey();

Kommentare:

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

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