分苹果

分苹果

题目描述 								果园里有堆苹果,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));
    }
}
posted @ 2020-03-22 15:45  别再闹了  阅读(154)  评论(0)    收藏  举报