用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - java代码库

java 猴子分桃子问题

2012-11-26 作者: 程序猿style举报

[java]代码库

/**
 * 海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,
 * 又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?
 */
public class Dg {
    static int ts = 0;// 桃子总数
    int fs = 1;// 记录分的次数
    static int hs = 5;// 猴子数...
    int tsscope = 5000;// 桃子数的取值范围.太大容易溢出.
 
    public int fT(int t) {
        if (t == tsscope) {
            // 当桃子数到了最大的取值范围时取消递归
            System.out.println("结束");
            return 0;
        } else {
            if ((t - 1) % hs == 0 && fs <= hs) {
                if (fs == hs) {
                    System.out.println("桃子数 = " + ts + " 时满足分桃条件");
                }
                fs += 1;
                return fT((t - 1) / 5 * 4);// 返回猴子拿走一份后的剩下的总数
            } else {
                // 没满足条件
                fs = 1;// 分的次数重置为1
                return fT(ts += 1);// 桃子数加+1
            }
        }
    }
 
    public static void main(String[] args) {
        new Dg().fT(0);
    }
}


网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...