首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

hdu2046 骨牌展方格

2013-01-27 
hdu2046 骨牌铺方格题解:递推题,如图,代码如下:#include stdio.h__int64 A[51][30], B[51]int main(){i

hdu2046 骨牌铺方格

题解:

  递推题,如图,

 

hdu2046 骨牌展方格

 代码如下:

#include <stdio.h>__int64 A[51][30], B[51];int main(){int n, i, j;for (i=0; i<=50; i++)A[i][0] = 1;for (i=2; i<=50; i++){for (j=1; j<i/2+1; j++)A[i][j] = A[i-2][j-1] + A[i-1][j];}for (i=1; i<=50; i++){for (j=0; j<30; j++)B[i] += A[i][j];}while (scanf("%d", &n) != EOF)printf("%I64d\n", B[n]);return 0;}


 

如果仔细观察的话,可以发现递推式:A[i] = A[i-2] + A[i-1];

代码如下:

 

#include <stdio.h>__int64 A[51] = {0, 1, 2, 3};int main(){int n, i;for (i=3; i<=50; i++)A[i] = A[i-2] + A[i-1];while (scanf("%d", &n) != EOF)printf("%I64d\n", A[n]);return 0;}


 

喝喝,还是这个代码简单、高效,传说中的fibonacci数列。
1楼suifengdream昨天 11:04
天天编程,天天进步

热点排行