c语言一行黑白相间的瓷砖,C语言编程练习15:贴瓷砖

题目描述

有一块大小是 2 * n 的墙面,现在需要用2种规格的瓷砖铺满,瓷砖规格分别是 2 * 1 和 2 * 2,请计算一共有多少种铺设的方法。

输入

输入的第一行包含一个正整数T(T<=20),表示一共有T组数据,接着是T行数据,每行包含一个正整数N(N<=30),表示墙面的大小是2行N列。

输出

输出一共有多少种铺设的方法,每组数据的输出占一行。

样例输入 Copy

3

2

8

12

样例输出 Copy

3

171

2731

思路:这是一道递归题,主要要找到递归规律,但是我笨!我找不到

参考:https://www.jianshu.com/p/253d948b2bb3

动态规划法,但是我输出超限了:https://blog.csdn.net/weixin_43207025/article/details/89602338

做递归题目时,通常做法都是先看特殊情况与终止条件,再找递推公式。这道题很明显,当n=1是终止条件,n=2时候是特殊情况,原因是有两种规格的瓷砖,当n=1推到n=2时候需要考虑到有22规格的瓷砖,而当n>2时候,观察一下增加一列如何求得铺的地砖,我的想法是,增加一列有分两种情况,若是之前铺瓷砖的方法不变,那铺设的方法就是f(n-1),第二种情况之前的铺瓷砖的方式进行改变,如果是改两块瓷砖的铺设方法,那么就是f(n-2),而如果是一个22的墙面,你可以用两种方法,一种是横着放两块瓷砖,一种是直接放一块2*2的瓷砖,注意 这里不是三种方法,因为直接竖着放两块瓷砖的方法其实是属于第一种情况的。

因此f(n-2)是需要乘2的,若是改三块瓷砖的铺设方法,那显然可以由之前的递归所得到。

因此递归公式就是 f(n)=f(n-1)+f(n-2)*2

#include

#include

#include

using namespace std;

int f(int x)

{

if(x==1)

{

return 1;

}

if(x==2)

{

return 3;

}

return f(x-1)+2*f(x-2);//知道这个规律那还不简单?

}

int main()

{

int n;

cin >> n;

while(n--)

{

int m;

cin >> m;

cout << f(m) <

}

return 0;

}

标签:15,递归,int,C语言,瓷砖,铺设,include,方法

来源: https://www.cnblogs.com/FantasticDoubleFish/p/14315356.html

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1 工程概况 1.1 建设区域名称及地点 1.2 建筑物名称 本公司承建的工程是——×××小区1 号、2 号楼。 1.3 各参与单位名称 建设单位: 设计单位: 监理单位: 质量监督单位: 施工单位: 1.4 施工现场工程地质及地表情况 本工程底板持力层为硬塑黏土 ,场地类别:_类(中软场地土)。建设单位已经提供“三通一平”的施工场地,具体的水源由3 号楼引入本项目部的1 号楼、2 号楼,临时用电的电源由1 号楼西北角引入,现场道路具体方位详见施工总平面图。 1.5 建筑物概况 1.5.1 结构部分 1.5.1.1 基础形式 本工程采用静压预制方桩,桩端持力层为稍密~中密圆砾层,桩身全截面进入持力层深度不小于1.5d(d 为桩身外直径)。由建设单位直接发包给×××工程施工公司。 1.5.1.2 结构形式 本工程为框剪结构、18 层,框架梁、柱、剪力墙及框架均为六级抗震。底层3.9m,架空层2.7m ,标准层为3m,建筑物总高度67.85m。 1.5.1.3 主要结构材料(略) 1.5.1.4 混凝土强度等级(略) 1.5. 1.5 主体结构 1.5.1.5.1 钢筋 直径<ф12 采用I 级钢筋(ф),直径≥Φ12 采用II 钢筋(ф),直径≥ф28时必须符合国标GB1499-1998《钢筋混凝土用热扎带肋钢筋》的要求。对二级框架结构,钢筋的抗拉强度实测值与屈服强度实测值的比值不应小于1.25,钢筋的屈服强度实测值与标准值的比值不应大于1.3。型钢、钢板、钢管为Q235,焊条为E43(I 级钢筋、Q235 焊接)及E50(II 级钢焊接)。 1.5.1.5.2 砌体部分 砖渣混凝土轻质小型砌块(强度等级MU7.5)及M5 混合砂浆。 1.5.1.5.3 后浇带 本工程长宽度均超过规范的限值,群房部分、地下室底板、地下室外墙均需设后浇带,带内混凝土比带外提高一级(地下室外墙除外),带内外应掺入膨胀剂。带内混凝土一般应在二个月后浇筑。 1.5.1.5.4 施工缝 地下室底板、外墙及水池侧壁均应连续浇筑混凝土,墙体不宜留设垂直施工缝;若需留设水平施工缝时,可留设在底板面或楼层面以上500mm处。 1.5.1.5.5 人防 本工程地下室部分为平战结合人防地下室,通过采用临时战前封堵等措施要求达到六级人防。 1.5.2 建筑部分 本工程总建筑面积:30956.66m2(包括地下室面积3000m2), ±0.000相当于绝对标高76.000m。 所有木门油深色磁漆一底三面,铝合金门采用12 系列10 厚玻璃,铝合金窗采用96 系列三轨铝合金框6 厚玻璃,及部分隐框玻璃幕墙。外露铁件均油红丹防锈漆一道,调和漆二道罩面;与砖砌体接触均油防腐水柏油二道。所有突出构件均做滴水线,住宅户内楼梯、台阶的栏杆均为木栏杆。 外墙面除裙房为花岗岩外,其余均为涂料钸面。除一层商铺地面为二次装修,电梯厅及走廓为耐磨砖外,其余楼层楼地面均为水泥砂浆面。一层商铺内墙面为初装修,其余标准层均为面刮钢化腻子。顶棚除一层商场公共间为明架系统铝合金T 型龙骨、塑料扣板吊顶外,其余做法均与墙面相同。 屋面为石油沥青聚氨酯防水涂料(2000),天沟为SBS 橡胶改性沥青防水卷材隔汽层。 1.5.3 电部分 本工程地下室设变配电间,安装150kW自起动柴油发电机一台,两电源一用一备,且工程内采用TN-C-S 制接地保护。 主楼动力、照明配电线路为NH 耐火型电缆电线,由地下一层配电房引至电缆井道以垂直方向敷设至各层动力及照明配电箱。所有动力线路、照明线路和消防自动报警线路均穿暗管敷设,并配备有事故照明装置;开关柜和控制柜均落地安装,配电控制柜、降压起动柜也落地安装,但柜底垫高40cm;动力、照明配电箱底边距地1.4m挂墙明装;空气开关距地1.6m、灯开关距地1.4m 暗装,所有暗插座均距地0.3m安装。 1.5.4 给排水部分 本工程生活给水系统为一层、架空层生活用水由市政给水管网直接供给,2~19 层生活用水由小区变频调速给水设备集中供给。直饮水系统为2~8 层直饮水由小区中央净水机、变频调速给水设备集中供给,每户一个直饮龙头。建筑物排水系统一是采用粪便污水与洗涤废水合流管道系统,经化粪池处理后排至市政污水管道;二是将屋面雨水集中排入室外雨水管道、场地雨水经雨水口排入室外雨水管道汇集后排入市政雨水管道。 本工程分别采用消火栓给水系统、自动喷淋系统和水喷雾系统,其中室外消火栓系统由市政给水管网直接供给;室内消火栓系统、自动喷淋系统由地下水池、水泵房加压供给;水喷雾系统用水全部由屋顶消防水箱供给。 本工程室内生活给水干管及消防管道均采用热镀锌钢管,各分户后给高压配电开关柜 CCK-HXGN-12 型低压配电开关柜 CCK-GDL8型水管及直饮水管均采用铝塑复合管;雨水管采用PVC

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值