算法拓展之斐波那契数列
你可能不知道斐波那契数列是什么 但你一定见过此类数据 1 1 2 3 5 8 13 21 34 这类数据的题目在算法练习中我们也遇到过 第n个数等于它前两个数的和 我们通常的办法是打表,然后给你n再取其对应的值输出 其实它是有一个公式可以直接求的 这个公式仅适用于是1 1 2 3这样开始的 如果数列是1 2 3 5这样开始的 我们需要在输入的n后面再加1,来求值 如下面这个code # include <bits/stdc++.h> using namespace std ; int main ( ) { double n ; int ans ; while ( cin >> n ) { n ++ ; ans = ( pow ( ( 1 + sqrt ( 5 ) ) / 2 , n ) - pow ( ( 1 - sqrt ( 5 ) ) / 2 , n ) ) / sqrt ( 5 ) ; cout << ans << endl ; } return 0 ; } 需要注意的是,往往一个题目不会直接一个通项公式就让你ac 这类题目更常见的是要你结合高精度使用 来源: CSDN 作者: NEFU_kadia 链接: https://blog.csdn.net/NEFU_kadia/article/details/104137160