C++実現フィボナッチ数列の第n項

997 ワード

フィボナッチ数列、すなわち1、1、2、3、5、8、13、21、34、55.......法則は第3項から始まり、各数は前の2つの数の和である.プログラミングでその第n項を求め、コードは以下の通りである.
#include"E:\C++ h\big_number_f.h"
#include
using namespace std;
int main(){
	int n;
	cin>>n;
	string a="1",b="1",c;
	for(int i=2;i<=n;i++){
		c=plus_pos(a,b);
		a=b,b=c;
	}
	cout<

関数版:
#include"E:\C++ h\big_number_f.h"
#include
using namespace std;
string f(int x){
	string a="1",b="1",c;
	for(int i=2;i<=x;i++){
		c=plus_pos(a,b);
		a=b,b=c;
	}
	return a;
}
int main(){
	int n;
	cin>>n;
	cout<

ここで使用する高精度数関数は、stringコンテナで大きな整数比較、加算、減算、乗算、除算を実現します(関数版).https://blog.csdn.net/weixin_41461277/article/details/84843656(注:E:C++hbig_number_f.hは、高精度関数コードが私のコンピュータに格納されているパスです)
速度:n=10000で1秒未満;n=10000000で約13秒かかります.
転載を歓迎しますが、本文のリンクを添付してください.https://blog.csdn.net/weixin_41461277/article/details/84937945  .