zstu深入浅出学算法015——找规律——水手分椰子

Description

n个水手来到一个岛上,采了一堆椰子后,因为疲劳都睡着了。一段时间后,第一个水手醒来,悄悄地将椰子等分成n份,多出一个椰子,便给了旁边的猴子,然后自己藏起一份,再将剩下的椰子重新合在一起,继续睡觉。不久,第二名水手醒来,同样将椰子了等分成n份,恰好也多出一个,也给了猴子。然而自己也藏起一份,再将剩下的椰子重新合在一起。以后每个水手都如此分了一次并都藏起一份,也恰好都把多出的一个给了猴子。第二天,n个水手醒来,发现椰子少了许多,心照不喧,便把剩下的椰子分成n份,恰好又多出一个,给了猴子。请问水手最初最少摘了多少个椰子?

Input

多组测试数据,每组输入1个整数n(1 < n < 9)

Output

对于每组测试数据输出一行,值为最初摘的椰子数

Sample Input

5

Sample Output

15621

HINT

多种可能性的情况下只求最小值

大意:这道题目我想吐血三升!!!我们学校OJ什么测试数据,我打表2到8都错了!!!WA了n次~~~

#include<cstdio>
int main()
{
    int n;
    while(~scanf("%d",&n)){
       long long temp = 1;
       for(int i = 1; i <= n + 1; i ++)
           temp *= n;
       printf("%lld\n",(long long) temp - (n - 1));
               }
               return 0;
   }
View Code

 

posted @ 2015-04-20 17:48  Painting、时光  阅读(1565)  评论(0编辑  收藏  举报