分苹果
分苹果
题目描述 果园里有堆苹果,N(1<N<9)只熊来分。第一只熊把这堆苹果平均分为N份,多了一个,它把多的一个扔了,拿走了一份。第二只熊把剩下的苹果又平均分成N份,又多了一个,它同样把多的一个扔了,拿走了一份,第三、第四直到第N只熊都是这么做的,问果园里原来最少有多少个苹果?
| 输入输入1个整数,表示熊的个数。它的值大于1并且小于9。 | 样例输入5 |
|---|---|
| 输出为1个数字,表示果园里原来有的苹果个数。 | 样例输出3121 |
| 时间限制C/C++语言:1000MS其它语言:3000MS | 内存限制C/C++语言:65536KB其它语言:589824KB |
本题可以看成是一道数列题

但是注意,上面的推导有个问题:令b1+1=n^n−1只有在n不等于2的时候Bn才不为0,再加上上面推导时候的分母n-1和n,对于n为0、1、2时都是特殊情况,需要单独讨论,直接输出的答案是错误的。不过由于题目限制,n>1,所以只需要单独讨论n=2即可
import java.util.*;
public class Main{
public static void main(String[]args){
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
if(n==2){
System.out.println(7);
return;
}
System.out.println((int)(Math.pow(n,n)-n+1));
}
}

浙公网安备 33010602011771号