A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zhangpanqin 中级黑马   /  2016-11-22 20:30  /  642 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

//7、海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,
//拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,
//它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子
--------------------------------------------------------------------------------------------------------------------------------------------
package com.itheima;
public class Test7 {
        public static void main(String[] args) {
                // 定义一个变量
                int num;
                A: for (int i = 0; true; i++) {
                        // 用变量num记录i的值,i为最后一个猴子拿剩下的桃子数
                        num = i;
                        // 因为五个猴子操作桃子堆,所以循环5次
                        for (int j = 5; j >= 1; j--) {
                                // 判断i能否整除4,能整除可能是猴子拿走之后剩下的桃子数
                                if (i % 4 == 0) {
                                        // 计算出第j只猴子来到桃子堆未处理时候的桃子数
                                        i = i / 4 * 5 + 1;
                                } else {
                                        // i循环之后不能整除4,说明是不满足要求的,将其没有进行循环的值赋值给i,再进行下次循环
                                        i = num;
                                        continue A;
                                }
                        }
                        // 打印满足条件的值,并结束循环,第一次打印的数字即为最小的
                        System.out.println(i);
                        break;
                }
        }

}


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马