Некоректен отговор при побитови перации!
Проблемът е следният:
Решавам последната задача на кандидатстудентският изпит от 11 april 2014 morning.
Разгледах авторовите решения и измислих друг начин за решение, но нещо ми куца много грозно :(
Пращам само това, което не работи както трябва:
using System;
namespace letters
{
    class MainClass
    {
        public static void Main (string[] args)
        {
            ulong n = ulong.Parse (Console.ReadLine ());
            int result = 0;
            int i;
            for (i = 0; i < 64; i++) {
                if ((n & (1u << i)) != 0) {
                    result++;
                    Console.Write (i+ " ");
                }
            }
Console.WriteLine (result);
        }
    }
}
При въвеждане на 165 ми изписва като отговор: 0 2 5 7 32 34 37 39 8, където посленото число трябва да е броят на 1-ците в двоичното представяне на 165, а останалите числа трябва да са позициите на 1-ците. Реално 1-ците са 4 на брой, а позициите са 0 2 5 и 7. Къде греша?
П.П. Поради пуста немотия и зачитане на авторските права използвам Ubuntu и Monodevelop.