满意答案
lianhaoran
2013.11.24
采纳率:40% 等级:12
已帮助:12258人
斐波纳契数第三项起:每一项都是前两项之和!
这里可以用递归或者循环的方法!
楼上的给了递归的代码! 我写一个模板递归的方法(速度更快,无需执行任何函数和循环,但是实用性低)
代码用于计算第十项的斐波纳契数和前十项和:
#include
template
struct FS {
enum {
value = FS::value + FS::value
};
};
template<>
struct FS<1> {
enum {
value = 1
};
};
template<>
struct FS<2> {
enum {
value = 1
};
};
template
struct Sum {
enum {
value = FS::value + Sum::value
};
};
template<>
struct Sum<1> {
enum {
value = 1
};
};
template<>
struct Sum<2> {
enum {
value = 2
};
};
int main() {
const int n = 10;
std::cout << FS::value << std::endl;
std::cout << Sum::value << std::endl;
system("pause");
}
00分享举报