C# - 1 2 4 8 16 32 64 ... series - 根据输入数字,递归函数查找索引?

Sax*_*man 3 c# recursion series

我有一系列的数字:[1 2 4 8 16 32 64 128]如果我输入一个数字,即66,那么输出应该是64和2.如果我输入87,那么输出应该是64,16,4,2,1.

(基本上,它首先除以最大可能的数字,找到余数,然后继续除以可能的最大数,直到余数为0.或者另一种方式可能只是减去最大可能的数字并继续减去它直到达到0)

我正在考虑一个递归函数,但不是很确定.有帮助吗?

谢谢.

Fra*_*čik 10

class Program
{
    [Flags]
    enum Bits
    {
        _1 = 1,
        _2 = 2,
        _4 = 4,
        _8 = 8,
        _16 = 16,
        _32 = 32,
        _64 = 64,
        _128 = 128
    }

    static void Main(string[] args)
    {
        var b = (Bits)87;
        Console.WriteLine(b);
        Console.ReadKey();
    }
}
Run Code Online (Sandbox Code Playgroud)