• 全部
  • Java SE
  • Java EE
  • J2ME
  • IDE工具
  • 求助
  • 内推招聘
  • 问答

小屁孩玩筷子

jyzhangxuanyuan 2019-10-27 07:52:51
实验内容
有一张具有 10 个位置的圆桌,每一个位置刚开始有 2 只筷子,第 1 个小屁孩从指定位置开始沿 着顺时针方向走了三圈,在走的过程中,从第 1 个位置开始每隔 1 个位置拿走 1 只筷子(如果没有 筷子就不拿),第 2 个小屁孩也从该位置开始沿着顺时针方向走了三圈,在走的过程中,从第 1 个位 置开始每隔 2 个位置放 1 只筷子,第 3 个小屁孩也从该位置开始沿着顺时针方向走了三圈,在走的 过程中,从第 1 个位置开始每隔 3 个位置拿走 1 只筷子(如果没有筷子就不拿),第 4 个小屁孩也从 该位置开始沿着顺时针方向走了三圈,在走的过程中,从第 1 个位置开始每隔 4 个位置放 1 只筷子。 请问以小屁孩的出发位置开始顺时针方向的各个位置上各有多少只筷子。

帮帮忙吧!
...全文
32 点赞 收藏 1
写回复
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
kkkkk0lllll 2019-10-28
 
        Integer arr[] = {2, 2, 2, 2, 2, 2, 2, 2, 2, 2};
        int len = arr.length;
        //第1个小孩
        for (int i = 0; i < 30; i += 2) {
            int curIdx = i % len;
            if (arr[curIdx] != 0) {
                arr[curIdx] = arr[curIdx] - 1;
            }
        }
        //第2个小孩
        for (int i = 0; i < 30; i += 3) {
            int curIdx = i % len;
            arr[curIdx] = arr[curIdx] + 1;
        }
        //第3个小孩
        for (int i = 0; i < 30; i += 4) {
            int curIdx = i % len;
            if (arr[curIdx] != 0) {
                arr[curIdx] = arr[curIdx] - 1;
            }
        }
        //第4个小孩
        for (int i = 0; i < 30; i += 5) {
            int curIdx = i % len;
            arr[curIdx] = arr[curIdx] + 1;
        }

        for (int i = 0; i < len; i++) {
            System.out.println(String.format("第%d个位置的筷子为%d", i+1, arr[i]));
        }
第1个位置的筷子为3 第2个位置的筷子为3 第3个位置的筷子为0 第4个位置的筷子为3 第5个位置的筷子为0 第6个位置的筷子为6 第7个位置的筷子为0 第8个位置的筷子为3 第9个位置的筷子为0 第10个位置的筷子为3
回复
相关推荐
发帖
Java
创建于2007-09-28

4.7w+

社区成员

Java相关技术讨论
申请成为版主
帖子事件
创建了帖子
2019-10-27 07:52
社区公告
暂无公告