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
