算法:枚举

枚举法又称穷举法或列举法。其基本思想是按问题本身的性质,一一列举出该问题所有可能的解,并在逐一列举过程中,检验每个可能解是否为问题的解。这也是一种“筛选”,对于列举的可能解,既不能遗漏也不能重复。

使用枚举法,主要把握两个方面确定搜索范围,这个范围必须是有限的。②选择搜索策略,如何枚举,按照一条什么样的路线来逐一枚举。

问题 D: 猴子摘桃

时间限制: 1 Sec  内存限制: 64 MB
提交: 32  解决: 30
[提交][状态][讨论版]

题目描述

果园里种了很多桃树,当桃树开始结果的时候,猴子便会成群结队地前来摘桃。猴子们第一天会摘掉桃子的一半还多一个,第二天再摘第一天剩下的一半还多一个,以后每天均摘掉上一天剩下的一半还多一个,到第n天时,树上就只剩下两个桃子了。请问果园里原来共多少个桃子?

输入

输入一个正整数n(n<50),表示天数。

输出

输出果园里原来共有的桃子数。

样例输入

4

样例输出

30
 1 #include<stdio.h>
 2 int main()
 3 {
 4     int n,m;
 5     int i;
 6     scanf("%d",&n);
 7     if(n>0&&n<50)
 8     {
 9         for(i=n-1,m=2;i>=1;i--)
10         {
11             m=(m+1)*2;
12         }
13         printf("%d\n",m);
14     }
15     return 0;
16 }
View Code

 

posted @ 2016-07-16 21:20  Manful_XR  阅读(487)  评论(0编辑  收藏  举报