如何设计网站布局,河北项目网,网页设计毕设,招商加盟网站建设题意
给定一个2n的地面#xff0c;用11和1*2的瓷片铺满#xff0c;问有多少种方案
数据范围
n30
输入
3 1 2 30
输出
2 7 1084493574452273
代码
#includestdio.hint main()
{int t;scanf(%d,t);long long a[40];a[0]1,a[1]2,a[2]7;fo…题意
给定一个2n的地面用11和1*2的瓷片铺满问有多少种方案
数据范围
n30
输入
3 1 2 30
输出
2 7 1084493574452273
代码
#includestdio.hint main()
{int t;scanf(%d,t);long long a[40];a[0]1,a[1]2,a[2]7;for(int i3;i30;i){a[i]3*a[i-1]a[i-2]-a[i-3];}while(t--){int n;scanf(%d,n);printf(%I64d\n,a[n]);}return 0;
}想法
这个是c语言期末考试的一道中等题计算出公式算是最难的一步代码看起来还是比较简短
感觉还是不是很理解还是先放一下吧以后说不定能想清楚最后一列是两个1或者一个竖着的2最后两列是两个横着的2或者一个横着的2两个1最后三列是两行12和21上下交换交换得到另一种
最后一列是2种情况最后两列是3种情况最后三列及之后的情况是2种情况
假设懂了以上的说法可以列出一个式子 把推导出来的公式表示出来因为超过了int范围所以使用long long 然后用数组把答案存下来打表操作每一次输入就查询一次答案并输出
还是看下网课打下基础看以后能不能懂