一个数由2的幂组成有多少种组成方法

A:一个数由2的幂组成有多少种组成方法
Q:递归思路,循环代码

class 一个数由2的幂组成有多少种组成方法
{
    //递推关系为f(num)=f(num-1)+f(num-2)+...+f(num-2^n)
    //当然num>=2^n
    public static int getKinds(int num)
    {
        int[] arr=new int[num+1];
        arr[0]=1;
        arr[1]=1;
        arr[2]=2;
        for (int i=3;i<=num ;i++ )
        {
            for (int j=0;(int)Math.pow(2,j)<=i ;j++ )
            {
                arr[i]+=arr[i-(int)Math.pow(2,j)];
            }
        }
        return arr[num];
    }
    public static void main(String[] args) 
    {
        System.out.println(getKinds(6));
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,679评论 25 708
  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 12,779评论 0 33
  • 回望 人生如山, 低头或抬头, 爬了六十一个台阶, 总算可以歇会了。 转身回望, 一切都真实得那么虚幻, 一切都虚...
    一了0820阅读 221评论 0 3
  • 2017.12.01 星期五 晴 欣赏自己:已经进入第十二天的微商公社21天特种兵内训学习,越来越顺利的...
    Amy婵chan151021阅读 167评论 0 0