[BGCoder] Astrological Digits

task: http://bgcoder.com/

using System;

class AstrologicalDigits
{
    static void Main()
    {
        ulong sumDigits = 0;
        while (true)
        {
            int ch = Console.Read();
            if (ch == (int)’\n’ || ch == (int)’\r’ || ch == -1)
            {
                break;
            }
            if (ch >= ‘0’ && ch <= ‘9’)
            {
                ulong digit = (ulong)ch – (ulong)’0′;
                sumDigits += digit;
            }
        }
        while (sumDigits > 9)
        {
            ulong sumDigits2 = 0;
            while (sumDigits > 0)
            {
                ulong lastDigit = sumDigits % 10;
                sumDigits2 += lastDigit;
                sumDigits /= 10;
            }
            sumDigits = sumDigits2;
        }
        Console.WriteLine(sumDigits);
    }
}

Leave a comment