有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!


共 (1) 个答案

  1. # 1 楼答案

    static String partition (int n)
    {
                int a=0;
                if (n<=1)
                    return String.valueOf(n);
                while ((int)Math.pow(2, a)<=n)
                    a++;
    
                return partition(n-((int)Math.pow(2, a-1)))+ 
                ....."+"+ String.valueOf(Math.pow(2, a-1));
    }
    

    我在返回部分将a改为a-1。它将起作用,因为一旦pow(2,a)大于n,我们应该使用a-1而不是a,因为pow(2,a-1)是小于n的2的最大幂