//============================================================================ // Name : 1.cpp // Author : Xusen Yin // Version : // Copyright : Your copyright notice // Description : 姹傚垎鏁板簭鍒?/1 锛?3/2 锛?5/3 锛?8/5 锛?13/8 锛?21/13鈥︹€﹀墠n椤逛箣鍜?//缁忓吀涔嬪锛氭瀯閫犲垎鏁扮疮鍔犲櫒锛屾暟瀛︾畻娉?//璇ラ棶棰橀鍏堟槸涓疮鍔狅紝鐒跺悗鏄垎瀛愬垎姣嶆槸Fabnacci锛堟嫾閿欎簡锛?//========================================================================= #include <iostream> using namespace std; int main() { int n = 0; int s1 = 0,s2 = 1;//s1鍋氬垎瀛愶紝s2鍋氬垎姣? int f1 = 1,f2 = 2; int tmp = 0; cout << "鎴戣N" << endl; cin >> n; for(int i = 0 ; i < n ; ++i) { s1 = f1 * s1 + f2 * s2; s2 = f1 * s2; tmp = f2; f2 += f1; f1 = tmp; } cout << s1 << "/" << s2 << endl; return 0; } 下面这个还有错误,但是不知道是什么原因造成的…… //============================================================================ // Name : 1.cpp // Author : Xusen Yin // Version : // Copyright : Your copyright notice // Description : //========================================================================= #include <iostream> #include <vector> using namespace std; void multiplication(vector<int> & result , int k) { vector<int> tmp = result; vector<int>::size_type carry = 0; for (int j = 1 ; j < k ; ++j) { carry = 0; for (int i = 0 ; i < result.size() ; ++i) { result[i] += tmp[i] + carry; carry = result[i] / 10; result[i] %= 10; } if(!carry){ result.push_back(carry); } } } int main() { cout << "需求N" << endl; int k; cin >> k; vector<int> result; result.push_back(1); for (int j = 1 ; j <= k ; ++j) { multiplication(result , j); } //reverse(result.begin() , result.end()); cout << result.size(); for (int i = 0 ; i < result.size() - 1 ; ++i) { cout << result[i]; } return 0; }