一开始想成排列组合了,弄得很麻烦,但其实和排列组合没啥关系。两层for循环遍历所有可能情况,满足的情况放在if条件中,用一个cnt计数器记录所有可以的情况,最后输出cnt即可。
import java.util.Scanner;public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);while(sc.hasNext()) {
int k = sc.nextInt();int s = sc.nextInt();int cnt = 0;for (int i = 0; i <= k; i++) {
for (int j = 0; j <= k; j++) {
if((i+j) <= s && (s-(i+j)) <= k) cnt++;}//这会把所有情况全部集合起来,跟排列组合一点关系没有}System.out.println(cnt);}}
}