码迷,mamicode.com
首页 > 其他好文 > 详细

猴子分桃

时间:2015-09-19 06:26:36      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:

package snippet;

import java.util.Scanner;

/**
 * 海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只
 * 猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了
 * 一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的, 问海滩上原来最少有多少个桃子?
 * 
 * 
 * 
 * @author Administrator
 *
 */
public class Snippet {
	public static int m = 0;// 桃子总数

	public static void main(String args[]) {
		Scanner scanner = new Scanner(System.in);
		int n = scanner.nextInt();
		if (n == 1) {
			System.out.println(2);// 特例
		} else {
			houZhi(0, 1, n);
		}
	}

	public static int houZhi(int all, int k, int n) {// k表示分桃次数

		if ((all - 1) % n == 0 && k <= n) {
			if (k == n) {
				System.out.println(m);
				return 0;
			}
			k += 1;
			return houZhi((all - 1) / n * (n - 1), k, n);
		} else {
			m += 1;
			return houZhi(m, 1, n);
		}

	}

}




猴子分桃

标签:

原文地址:http://my.oschina.net/liangshao/blog/508318

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!