Nachkommastellen von pi

In einer Facebookgruppe habe ich ein interessantes Bild gesehen: Man sah darin Baseballspieler nebeneinander stehen, wobei die Nummern auf ihren Trikots die ersten paar Nachkommastellen von pi ergaben. Daraufhin habe ich mich gefragt, wie viele Nachkommastellen man auf diese Weise darstellen könnte, wenn jedes Trikot eine andere Nummer haben muss und die Nummern 0 bis 99 möglich sind. Dazu habe ich das folgende C#-Programm geschrieben:

const string pi = "314159265358979323846264338327950288419716939937510582097494459230781";
for(var digits_to_skip_orig = 0; digits_to_skip_orig <= 10; digits_to_skip_orig++)
{
    var number_taken = new bool[100];
    number_taken[3] = true;
    Console.Write("3");

    var digits_to_skip = digits_to_skip_orig;

    for (var idx = 1; idx < pi.Length; idx++)
    {
        if (digits_to_skip > 0)
        {
            digits_to_skip--;
            var number = (pi[idx] - '0') * 10 + (pi[idx + 1] - '0');
            if (number_taken[number])
            {
                number = pi[idx] - '0';

                if (number_taken[number])
                {
                    Console.WriteLine();
                    Console.WriteLine("Index: " + idx.ToString());
                    break;
                }
            }
            else idx++;
            number_taken[number] = true;
            Console.Write("," + number.ToString());
        }
        else
        {
            var number = pi[idx] - '0';

            if (number_taken[number])
            {
                number = (pi[idx] - '0') * 10 + (pi[idx + 1] - '0');
                if (number_taken[number])
                {
                    Console.WriteLine();
                    Console.WriteLine("Index: " + idx.ToString());
                    break;
                }
                else idx++;
            }
            number_taken[number] = true;
            Console.Write("," + number.ToString());
        }
    }
}

Das Ergebnis: 41 Nachkommastellen sind möglich.

Kommentare

Beliebte Posts aus diesem Blog

The Demoscene

Digital Art Natives

Autobiographical Sketch