首页 > 编程 > Java > 正文

2016蓝桥杯A组java第五题

2019-11-08 03:07:28
字体:
来源:转载
供稿:网友
/** * @author Administrator *抽签X星球要派出一个5人组成的观察团前往W星。其中:A国最多可以派出4人。B国最多可以派出2人。C国最多可以派出2人。....那么最终派往W星的观察团会有多少种国别的不同组合呢?下面的程序解决了这个问题。数组a[] 中既是每个国家可以派出的最多的名额。程序执行结果为:DEFFFCEFFFCDFFFCDEFFCCFFFCCEFFCCDFFCCDEFBEFFFBDFFFBDEFFBCFFFBCEFFBCDFFBCDEF....(以下省略,总共101行) */public class chouqian{public static void f(int[] a, int k, int n, String s)  ///////a[] 是每个国家的最多指派人数,k表示当前是哪个国家,m表示还需要派送几个人(可以为负数).b表示已经派送的人的字符串。{if(k==a.length){ if(n==0) System.out.PRintln(s);return;}String s2 = s;for(int i=0; i<=a[k]; i++){f(a,k+1,n-i,s2); //填空位置s2 += (char)(k+'A');}}public static void main(String[] args){int[] a = {4,2,2,1,1,3};f(a,0,5,"");}}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表