来自澳大利亚的兵


私信TA

用户名:zhangjun678

访问量:2965

签 名:

等  级
排  名 244
经  验 5875
参赛次数 0
文章发表 28
年  龄 0
在职情况 学生
学  校 djtu
专  业 计算机科学与技术

  自我简介:

喜欢数学,编程小白

解题思路: 由于题目条件:

下面三种分法被认为是相同的。

{1,1,5};{1,5,1};{5,1,1};

所以需要控制排序从小到大 dps( ) n是被分数 number为划分数量 k为划分
dps只会产生 1 1 5一种 不会有其他顺序

dps(7,3,1)

dps(6,2,1)

dps(5,1,1)

dps(0,0,5)

注意事项: 

参考代码:

import java.util.Scanner;


public class Main {

    static int sum=0;

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

while (scanner.hasNext()) {

int n = scanner.nextInt();

int number = scanner.nextInt();

      dps(n,number,1);

System.out.println(sum);

}

}

  public static void dps(int n,int number,int k){

      if(number==0&&n==0)

      {

         sum++;

      }

      if(number>0&&n>0){

      for(int i=k;i<=n;i++){

          dps(n-i,number-1,i);

      }

      }

  }

  

}


 

0.0分

0 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区