用模板元实现50个台阶问题,一次走一步或者两步或者3步,用模板元实现求裴波那契额数列



1.用模板元实现50个台阶问题,一次走一步或者两步或者3步

2.分析

由上面分析可以知道,到达N(N
> 3)级台阶时的次数为:目标台阶的前3个台阶分别直接到目标台阶的次数总和。

3.模板元把在运行时消耗的时间,在编译器键优化。

4.通过模板元实现的代码如下:

#include <iostream>

/*这里是int 类型的,N表示台阶数量*/
template<int N>
struct data
{
	enum { res = data<N - 1>::res + data<N - 2>::res + data<N - 3>::res };
};

template<>
struct data<1>
{
	enum { res = 1 };
};

template<>
struct data<2>
{
	enum { res = 2 };
};

template<>
struct data<3>
{
	enum { res = 4 };
};

void main()
{
	const int myint = 4;
	int num = data<myint>::res; //<>内部不可以有变量
	std::cout << num << std::endl;

	std::cin.get();
}

运行结果为:7

2.用模板元实现求裴波那契额数列

/*用模板元实现求裴波那契额数列,1,1,2,3,5,....,求其中F(n)=F(n-1)+F(n+2)*/
#include <iostream>

/*这里是int 类型的,N表示台阶数量*/
template<int N>
struct data
{
	enum { res = data<N - 1>::res + data<N - 2>::res};
};

template<>
struct data<1>
{
	enum { res = 1 };
};

template<>
struct data<2>
{
	enum { res = 1 };
};

void main()
{
	const int myint = 5;
	int num = data<myint>::res; //<>内部不可以有变量
	std::cout << num << std::endl;

	std::cin.get();
}
运行的结果是:5

 



时间: 2024-10-25 08:18:17

用模板元实现50个台阶问题,一次走一步或者两步或者3步,用模板元实现求裴波那契额数列的相关文章

南宁糖业2010年净利1.84亿元同比增长50.85%

网易财经2月24日讯 南宁糖业24日晚间发布2010年年报,2010年净利润1.84亿元, 同比增长50.85%. 2010年南宁糖业营收38.75亿元,同比增长9.71%:净利润1.84亿元,同比增长50.85%:基本每股收益0.64元,同比增长48.84%. 南宁糖业表示,2010年的糖价始终在5000元/吨以上高位运行,同比2009年食糖市场价格增长了1000多元.2010年7-9月间食糖市场价格呈直线上涨趋势,至9月底糖价涨至5900元/吨高点.至11月初糖价最高涨到7400元/吨.公司

c++模版元编程求菲波那切数列

问题描述 c++模版元编程求菲波那切数列 顺便给我讲解一下模版元编程这些代码的意义,看书看不懂,还有就是为什么这里适合用枚举型 感谢! 解决方案 // 主模板 template struct Fib { enum { Result = Fib::Result + Fib::Result }; }; // 完全特化版 template <> struct Fib { enum { Result = 1 }; }; // 完全特化版 template <> struct Fib { e

巴南区政府将在两年内新投2.65亿元

本报讯(记者 代庆 通讯员 陈山 梁铨显)日前,记者获悉,巴南区政府将在两年内新投2.65亿元,新建消防站3座.购置消防车辆16台.到2013年,全区基本建成"六站一中心"的消防http://www.aliyun.com/zixun/aggregation/32911.html">应急救援网络.

上市仅两个多月山西证券5亿元募资炒股

虎年将尽,兔年将至.本周三.周四,A股市场在经过了近一个月的震荡后终于出现了反弹迹象.在春节长假将至,市场观点分歧较大的情况下,刚上市两个多月的山西证券(002500,收盘价10.22元)却正式抛出了不超过5亿元的二级市场投资计划,并且这5亿元资金的来源为募集资金. 今日(1月28日),山西证券发布一则募集资金运用决议公告,董事会同意公司使用募集资金20亿元.和许多券商IPO后致力于扩大营业部规模不同,山西证券准备将募集资金主要用于自营业务.其中:固定收益投资不超过10亿元:一级市场投资不超过1

iPhone贴膜成本8毛卖10元 壳50元卖500

多年从事手机行业的黄强告诉本报记者,目前苹果手机仍是最受欢迎的,一般一台苹果iphone4S到最后的炒家(即在卖场里面有一个小柜台的零售商),卖一台大概能赚100元~150元左右,而炒家的上游 批发商,由于出货量大,因此一般一台苹果水货手机的利润大概为50元左右.如果是做国产手机的,利润则更低.黄强透露,如果是国内比较知名的手机品牌,从厂商到省包,大概毛利润为80元~100元左右,而不知名的品牌,由于打价格战,从厂商到省包毛利润大概为每台20元.30元左右,而从省包到零售店(地包)的利润则为40

百度投上亿元助50万家中小企业备“棉衣”

近日,百度公司CEO李彦宏表示,受金融危机的影响,全球消费市场大面积萎缩,经济的"冬天"对于中小企业来说尤其严峻.但是,经济环境的收紧,恰恰可以成为广大中小企业全面实现信息化的良好契机.百度已经在全国启动了.为50万家客户免费建设网站.优化网站内容的服务,帮助他们利用互联网更好地与市场衔接. "目前中小企业已经成为中国经济发展的重要推动力,但是相当一部分中小企业,虽然他们的市场范围遍布全国甚至全球,却没有自己的网站,或者有了也非常简陋,阻碍了客户对企业进行快速了解."

使用模板元编程快速的得到斐波那契数。。

这是一种将运行时消耗转移到编译器消耗的方法,是c++模板的一种应用. 当你的程序运行时效率需要特别高的时候,可以考虑这样的方法. 模板实例化的时候需要常量: #include <iostream> using namespace std; template < unsigned N > struct Fib { enum { Val = Fib<N-1>::Val + Fib<N-2>::Val //递归.. }; }; template<> /

江山控股斥5亿元购50兆瓦光伏发电站项目

12月4日,获悉,江山控股宣布,斥资约5亿人民币收购位于陕西省榆林市靖边县的50兆瓦光伏发电站项目. 据了解,有关的光伏发电站已完成建设并已成功接驳至电网,该公司将透过内部资源支付该收购代价. 江山控股执行董事刘文平表示,致力通过不同的合作及收购方式拓展集团的光伏发电站业务及加强业务的覆盖地区,目前的总装机容量已进一步增加至超过1.1吉瓦,将抓住机遇,继续物色合适的光伏电发站项目. 本文转自d1net(转载)

铁道部12306不到两年实际投资已超过5亿元

"中国最难登的不是钓鱼岛,而是12306",时值春运,面对刷不进.买不了的铁道部12306网站,很多网友不得不望票兴叹. 铁道部12306网站运行不到两年,据媒体公开曝光,网站实际投资已超过5亿元.21世纪网采访多位网站技术人员,估算出网站实际成本最多2亿,其中铁道部向网络运营商购买带宽的一千余万元,并不包括在铁道部的5亿招标费中. 铁道部至今仍拒绝公布12306网站招投标信息,并因此于去年底被正式起诉. 12306多出的成本花在哪里,谁又在为这虚高的成本买单呢? 真实成本两亿封顶 铁