1.简述:
果园里有一堆苹果,一共n头(n大于1小于8)熊来分,第一头为小东,它把苹果均分n份后,多出了一个,它扔掉了这一个,拿走了自己的一份苹果,接着第二头熊重复这一过程,即先均分n份,扔掉一个然后拿走一份,以此类推直到最后一头熊都是这样(最后一头熊扔掉后可以拿走0个,也算是n份均分)。问最初这堆苹果最少有多少个?
给定一个整数n,表示熊的头数
返回最初的苹果数。保证有解。
输入:
2
返回值:
3
2.代码实现:
import java.util.*; public class Apples { public boolean getInitial(int n,int k,int x){ if(k==0){return true;} if((x-1)%n!=0){ return false; } return getInitial(n,k-1,(x-1)*(n-1)/n); } public int getInitial(int n) { for(int i=1;i<=Integer.MAX_VALUE;i++){ if(getInitial(n,n,i)){ return i; } } return 0; } }
本文来源:IT精英团--名企真题专题:小东分苹果
本文地址:http://www.brusbar.com/news/1672126489109038.html
版权声明:本文采用[BY-NC-SA]协议进行授权,如无特别说明,转载请注明本文地址!