A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王雷 中级黑马   /  2012-9-25 23:51  /  1310 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 屈俊材 于 2012-9-26 07:59 编辑
  1. 1-19的整数和为20如:
  2.     1+19=20
  3.       1+2+17=20
  4.       1+2+3+14=20
  5.       1+2+3+4+10=20
  6.       2+18=20
  7.       2+3+15=20
  8.       2+3+4+11=20
  9.       2+3+4+5+6=20
  10.        3+17=20
  11.        3+4+13=20
  12.         3+4+5+8=30
  13.         4+16=20
  14.         4+5+11=20
  15.         5+15=20
  16.         5+6+9=20  
  17.          6+14=20
  18. 注:每个加数不能重复比如(4+5+5+6=20 5和5重复不可以。1+19和19+1也不可以2+18和18+2等等)
复制代码

3 个回复

倒序浏览
你是想问什么?一共有多少个这样的组合?
回复 使用道具 举报
本帖最后由 燃烧端午 于 2012-9-26 01:21 编辑
  1. public class Jafafenjie {

  2.         public static void main(String[] args) {
  3.                 int res[] = new int[10];
  4.                 f1(20, 20, 1, res, 0);
  5.         }

  6.         public static void f1(int N, int sum, int cur, int res[], int depth) {
  7.                 if (sum <= 0) {
  8.                         if (sum == 0) {
  9.                                 for (int i = 0; i < depth; i++) {
  10.                                         System.out.print("+"+res[i]);
  11.                                 }
  12.                                 System.out.print("=20");
  13.                                 System.out.println();
  14.                         }
  15.                 } else {
  16.                         if (cur < N) {
  17.                                 res[depth] = cur;
  18.                                 f1(N, sum - cur, cur + 1, res, depth + 1);
  19.                                 f1(N, sum, cur + 1, res, depth);
  20.                         }
  21.                 }
  22.         }

  23. }
复制代码
在网上看了一个C语言做的 我给改成java了希望能给楼主帮助啊……呵呵

QQ截图20120926012020.jpg (60 KB, 下载次数: 13)

QQ截图20120926012020.jpg
回复 使用道具 举报
问题已解决
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马