C# :: Aufgabe #231 :: Lösung #4
5 Lösungen

#231
Binärzahlen ohne Doppelnull
Anfänger - C#
von hollst
- 20.11.2018 um 09:55 Uhr
Es sein z. B. N = 10.000.
Man schreibe ein Programm, das alle natürlichen Zahlen kleiner N auflistet,
die in ihrer binären Repräsentation keine zwei aufeinander folgende Nullen besitzen.
Anmerkung: Führende Nullen werden nicht berücksichtigt, die erste natürliche Zahl, die nicht in der Liste wäre,
ist somit die 4 (4-dezimal = 100-binär).
Viel Spaß!
Man schreibe ein Programm, das alle natürlichen Zahlen kleiner N auflistet,
die in ihrer binären Repräsentation keine zwei aufeinander folgende Nullen besitzen.
Anmerkung: Führende Nullen werden nicht berücksichtigt, die erste natürliche Zahl, die nicht in der Liste wäre,
ist somit die 4 (4-dezimal = 100-binär).
Viel Spaß!
#4

von AchtungHuPe (170 Punkte)
- 03.01.2019 um 17:38 Uhr
* Anmerkungen:
* 1. Führende Nullen werden nicht berücksichtigt (die erste natürliche Zahl nicht in der Liste ist somit 4 (100)
* 2. N wird auf 2^8 limitiert. Dies ist eine willkürliche Einschränkung der Aufgabenstellung
* 3. Die Zahl 0 wird hier dem Zahlenraum der natürlichen Zahlen zugeschlagen
C#-Code
* 1. Führende Nullen werden nicht berücksichtigt (die erste natürliche Zahl nicht in der Liste ist somit 4 (100)
* 2. N wird auf 2^8 limitiert. Dies ist eine willkürliche Einschränkung der Aufgabenstellung
* 3. Die Zahl 0 wird hier dem Zahlenraum der natürlichen Zahlen zugeschlagen

using System; namespace Decimal2Binary { class Program { static void Main(string[] args) { Console.Write("Gib eine positive Ganzzahl bis 255 ein: "); string inputN = Console.ReadLine(); byte n = 0; if (!byte.TryParse(inputN, out n)) { Console.WriteLine("Zahl ungültig oder keine Zahl. Beenden mit beliebiger Taste."); Console.ReadKey(); } else { for (int i = 0; i <= n; i++) { string binary = Convert.ToString(i, 2); bool isNullNull = false; for (int j = 1; j < binary.Length; j++) { if (binary.Substring(j, 1) == "0" && binary.Substring(j - 1, 1) == "0") { isNullNull = true; break; } } if (!isNullNull) { Console.WriteLine("{0} hat in seiner Binärrepräsentation ({1}) kein zwei aufeinanderfolgende 0er.", i, binary); } } } Console.WriteLine("\nFertig, beenden mit beliebiger Taste."); Console.ReadKey(); } } }
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1