第七届蓝桥杯省赛JAVA B组第5题
2017-12-14 22:09
253 查看
抽签
X星球要派出一个5人组成的观察团前往W星。
其中:
A国最多可以派出4人。
B国最多可以派出2人。
C国最多可以派出2人。
....
那么最终派往W星的观察团会有多少种国别的不同组合呢?
下面的程序解决了这个问题。
数组a[] 中既是每个国家可以派出的最多的名额。
程序执行结果为:
DEFFF
CEFFF
CDFFF
CDEFF
CCFFF
CCEFF
CCDFF
CCDEF
BEFFF
BDFFF
BDEFF
BCFFF
BCEFF
BCDFF
BCDEF
....
(以下省略,总共101行)
public class A
{
public static void f(int[] a, int k, int n, String s)
{
if(k==a.length){
if(n==0) System.out.println(s);
return;
}
String s2 = s;
for(int i=0; i<=a[k]; i++){
_____________________________; //填空位置
s2 += (char)(k+'A');
}
}
public static void main(String[] args)
{
int[] a = {4,2,2,1,1,3};
f(a,0,5,"");
}
}
仔细阅读代码,填写划线部分缺少的内容。
注意:不要填写任何已有内容或说明性文字。
解题思路:观察代码可以发现这是一个需要迭代的题目,这类题目一般都是在函数输入的参数上加上一个数或减去一个数
public class A
{
public static void f(int[] a, int k, int n, String s)
{
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,"");
System.out.println("end");
}
}
X星球要派出一个5人组成的观察团前往W星。
其中:
A国最多可以派出4人。
B国最多可以派出2人。
C国最多可以派出2人。
....
那么最终派往W星的观察团会有多少种国别的不同组合呢?
下面的程序解决了这个问题。
数组a[] 中既是每个国家可以派出的最多的名额。
程序执行结果为:
DEFFF
CEFFF
CDFFF
CDEFF
CCFFF
CCEFF
CCDFF
CCDEF
BEFFF
BDFFF
BDEFF
BCFFF
BCEFF
BCDFF
BCDEF
....
(以下省略,总共101行)
public class A
{
public static void f(int[] a, int k, int n, String s)
{
if(k==a.length){
if(n==0) System.out.println(s);
return;
}
String s2 = s;
for(int i=0; i<=a[k]; i++){
_____________________________; //填空位置
s2 += (char)(k+'A');
}
}
public static void main(String[] args)
{
int[] a = {4,2,2,1,1,3};
f(a,0,5,"");
}
}
仔细阅读代码,填写划线部分缺少的内容。
注意:不要填写任何已有内容或说明性文字。
解题思路:观察代码可以发现这是一个需要迭代的题目,这类题目一般都是在函数输入的参数上加上一个数或减去一个数
public class A
{
public static void f(int[] a, int k, int n, String s)
{
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,"");
System.out.println("end");
}
}
相关文章推荐
- 蓝桥杯 第七届决赛 平方末尾 JAVA
- 凑平方数 第七届蓝桥杯决赛javaA组
- 蓝桥杯第七届省赛java A组
- 2016年第七届蓝桥杯Java 方格填数
- 算法笔记_123:蓝桥杯第七届省赛(Java语言B组部分习题)试题解答
- 蓝桥杯-第七届省赛javaA组-剪邮票
- 第七届蓝桥杯javaB组真题解析-煤球数目(第一题)
- 第七届蓝桥杯个人赛省赛(Java B组)第三题
- 第七届蓝桥杯大赛个人赛省赛(软件组)java语言B组---5.抽签
- 第七届蓝桥杯java B组省赛 取球博弈
- 蓝桥杯第七届省赛JAVA真题----剪邮票
- 第七届蓝桥杯决赛JavaA组第五题_广场舞
- 第七届蓝桥杯JAVA语言B组_煤球数目
- 第七届蓝桥杯省赛Java语言C组_骰子游戏
- 第七届蓝桥杯个人赛省赛(Java B组)第九题
- 第七届蓝桥杯决赛JavaB组第二题_反幻方
- 第七届java蓝桥杯第1题
- 2016 第七届蓝桥杯 Java B组真题整理(附答案)
- 2016第七届蓝桥杯 01 有奖猜谜(java)
- 第七届蓝桥杯大赛个人省赛javaB组