C# :: Aufgabe #231 :: Lösung #1
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ß!
#1

von RevTreb (860 Punkte)
- 27.11.2018 um 16:00 Uhr

using System; namespace BitMaskFilter { class Program { static void Main(string[] args) { for (int i = 1; i < 10000; i++) if (Test(i)) Console.WriteLine(string.Format("{0}\t{1}", i, Convert.ToString(i, 2))); Console.ReadLine(); } static bool Test(int i) { string binary = Convert.ToString(i, 2); int actpos = 0; bool found = false; while (actpos<binary.Length) { if (binary[actpos] == '0') if (binary.Length>actpos+1) if (binary[actpos + 1] == '0') { found = true; break; } actpos++; } return !found; } } }
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1