递归
糖葫芦君
这个作者很懒,什么都没留下…
展开
-
2013蟠桃记
#include #include int taozi(int n){ int count=0; if(n==1){ count=1; } else { count=(taozi(n-1)+1)*2; } return count; } int main() { int n; while(scan原创 2015-09-28 20:11:06 · 393 阅读 · 0 评论 -
2046骨牌铺方格
#include #include __int64 a[51]={0,1,2}; int main() { int n,i; for(i=3;i<=51;i++){ a[i]=a[i-1]+a[i-2]; } while(scanf("%d",&n)!=EOF) { printf("%I64d\n",a[n]); }原创 2015-10-05 09:15:31 · 305 阅读 · 0 评论 -
2045不容易系列之(3)—— LELE的RPG难题
#include #include __int64 a[51]={0,3,6,6}; int main() { int n,i; for(i=4;i<=51;i++){ a[i]=a[i-1]+2*a[i-2]; } while(scanf("%d",&n)!=EOF){ printf("%I64d\n",a[n]);原创 2015-10-05 09:48:08 · 347 阅读 · 0 评论 -
2049不容易系列之(4)——考新郎
分析:这个道题就是求N中有多少中M个数的错排。 因此先找到N个新郎中M个错一共有几种,显然是CMN=N!/(M!*(N-M)!)。即CMN=N!/M!/(N-M)!。 然后在求出M个数的错排个数,递推关系:f[n]=(n-1)*(f[n-1]+f[n-2]) 详细推导过程: 错排的情况: 首先考虑,如果开始有n-1个新郎,并且这n-1个人都已经完成了错排(有f(n-1转载 2015-10-05 15:39:57 · 358 阅读 · 0 评论 -
2048神、上帝以及老天爷
典型的错排题目 首先求出错排的情况,然后求出错排的所有情况,以前者除以后者就是百分比 现在求对应的错排情况。容易知道,f(1)=0,f(2)=1 然后,对于N个人,有n-1个人拿错票和n-2个人拿错票的情况 当有n-1个拿错票时,在加入一个人,只要第n个人和前面任意的n-1个人其中一个调换票就可以了,所以有f(n-1)*(n-1)。当有n-2原创 2015-10-05 11:25:12 · 411 阅读 · 0 评论 -
2042不容易系列之二
#include #include int Yang(int m){ int y; if(m==0) y=3; else y=(Yang(m-1)-1)*2; return y; } int main() { int n,m; while(scanf("%d",&n)!=EOF){ while(n--){ scanf("%d",&原创 2015-10-06 16:59:35 · 549 阅读 · 0 评论