华为猴子吃桃子问题

N(3<=N<=9))只猴子采得一堆桃子,半夜里第一只猴子偷偷起来把桃平均分成N分, 发现还多一个,它吃了那个桃子,还拿走其中的一份,第二只猴子起来又把桃子分成N分,还多一个,它吃了那个桃子,又拿走其中的一份,第三只、第四只......第N只猴子都如此做了,请问这堆桃子至少有多少个?

直接上代码:

package test;

 

import java.util.Scanner;

 

public class Monkey {

static int n;

static int sum;

static Scanner scanner = new Scanner(System.in);

 

public static void main(String[] args) {

System.out.println(""+Integer.MAX_VALUE);

input();

 

output();

}

 

private static void output() {

 

System.out.println("" + n);

 

if (n > 9 || n < 3) {

System.out.println("0");

} else {

int number = n;

 

for (int i = n + 1; i < Integer.MAX_VALUE; i++) {

if (!isOk(i, number))

continue;

else {

System.out.println("" + i);

break;

}

}

}

}

 

private static boolean isOk(int i, int m) {

int count = 0;

while (count < m) {

if (i % (m) != 1)

return false;

i = i - 1 - (i / m);

count++;

 

}

return true;

 

}

 

private static void input() {

n = scanner.nextInt();

 

}

 

}

原文地址:https://www.cnblogs.com/liuchuanwu/p/4781247.html