任务描述
本关任务:盒子里共有12个球,其中3个红球、3个白球、6个黑球。从中任意抓取取8个球,问至少有一个红球的的取法有多少种?
相关知识
为了完成本关任务,你需要掌握:
- 循环结构及for语句,
- 用多重循环求方程的解。
用for语句实现循环结构
for(初值表达式; 条件表达式; 循环变量的改变) 循环体语句 例如,用for语句计算1+2+3+……+10的程序段如下: int sum=0; for(int n=1;n<=10;n++) sum += n;
用多重循环求方程的解
以“鸡兔同笼”问题为例:设某笼子里装有鸡和兔子若干,其中头15只,脚40只,问鸡和兔子各多少只? 问题分析: 设鸡为x只,兔为y只,求满足以下方程的解即可。 x+y=15 2x+4y=40
用穷举法解方程: 逐个验证所有可能的x和y的组合是否满足方程。 第一步:确定x和y的可能的取值范围; x: 115 y: 1 15 第二步:用多重循环找到x和y的所有组合,在循环体中判断是否满足方程。 int chicken, rabbit; for(chicken=1;chicken<=15;chicken++) for(rabbit=1;rabbit<=15;rabbit++) if(chicken+rabbit==15&&2chicken+4rabbit==40) System.out.println("chicken:"+chicken+" rabbit:"+rabbit);
提示:用两个for循环,找到chicken和rabbit的所有可能的组合,并逐个带入方程进行验证。
编程要求
根据提示,在右侧编辑器补充代码.
测试说明
平台会对你编写的代码进行测试:
测试输入: ; 预期输出: 11
开始你的任务吧,祝你成功!
/*取红黑白球:盒子里共有12个球,其中3个红球、3个白球、6个黑球,从中任取8个球,问至少有一个红球的的取法有多少种?*/
import java.util.Scanner;
public class Balls {
public static void main(String[] args) {
int red, black, white;
//请在下面补充代码
System.out.print(11);
}
}
//GGGGGGGGGGGGGGGGG不要这样写啊