-
Notifications
You must be signed in to change notification settings - Fork 0
/
jd---apple
45 lines (37 loc) · 1.22 KB
/
jd---apple
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
package appes;
import java.util.ArrayList;
/*
* 果园里有一堆苹果,一共n头(n大于1小于9)熊来分,第一头为小东,它把苹果均分n份后,多出了一个,
* 它扔掉了这一个,拿走了自己的一份苹果,接着第二头熊重复这一过程,即先均分n份,扔掉一个然后拿走一份,
* 以此类推直到最后一头熊都是这样(最后一头熊扔掉后可以拿走0个,也算是n份均分)。问最初这堆苹果最少有多少个。
给定一个整数n,表示熊的个数,返回最初的苹果数。保证有解。
*/
public class Apples {
public int getInitial(int n) {
int x=n; //假设苹果为x个
while(true){
ArrayList<Boolean> list = new ArrayList<>();
x++;
boolean flag = true;
for(int i=n;i>0;i--){
if(x%n==1){
x = x - x/n;
list.add(true);
}else{
list.add(false);
}
if(i == 1){
for(boolean j : list){
if(j == false){
flag = false;
list.clear();
}
}
if(flag == true){
return x;
}
}
}
}
}
}