当前位置:   article > 正文

华为OD机试算法D卷:抢7游戏_a、b两个人玩抢7游戏,游戏规则为a先报一个起始数字x(10<起始数

a、b两个人玩抢7游戏,游戏规则为a先报一个起始数字x(10<起始数

题目:抢7游戏

A、B两个人玩抢7游戏,游戏规则为A先报一个起始数字X(10 < 起始数字 < 10000),B报下一个数字Y( X - Y < 3),A再报一个数字Z(Y-Z<3),以此类推,直到其中一个抢到7, 抢到7即为胜者;在B赢得比赛的情况下,一共有多少种组合?

输入描述:

起始数字M,如100;10<=M<=10000

输出描述:

B能赢得比赛的组合次数

示例1 输入输出示例仅供调试,后台判题数据一般不包含示例

输入

复制

10

输出

复制

1
  1. import java.util.*;
  2. public class Main {
  3. public static int res = 0;
  4. public static void main(String[] args) {
  5. calc(new Scanner(System.in).nextInt(), 0);
  6. System.out.println(res);
  7. }
  8. public static void calc(int n, int cnt) {
  9. if (n == 7) {
  10. if (cnt == 1) {
  11. res++;
  12. }
  13. return;
  14. } else if (n < 7) {
  15. return;
  16. }
  17. if (cnt == 0) {
  18. calc(n - 1, 1);
  19. calc(n - 2, 1);
  20. } else {
  21. calc(n - 1, 0);
  22. calc(n - 2, 0);
  23. }
  24. }
  25. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/煮酒与君饮/article/detail/768492
推荐阅读
相关标签
  

闽ICP备14008679号