首页 > 代码库 > topcoder SRM 522 DIV2 FibonacciDiv2
topcoder SRM 522 DIV2 FibonacciDiv2
关于斐波那契数列,由于数据量比较小, 直接打表了,代码写的比较戳
#include <iostream> #include <vector> #include <algorithm> using namespace std; class FibonacciDiv2{ public: vector<int> table; void make_table(){ table.push_back(0); table.push_back(1); int newData = http://www.mamicode.com/0; do{ int last = table.size()-1; newData = table[last]+table[last-1]; table.push_back(newData); }while(newData <= 1000000); } int find(int N){ make_table(); int len = table.size(), result=0; if(N <= table[0]) result = table[0]-N; else if(N >= table[len-1]) result= N-table[len-1]; else{ for(int i = 0 ; i< len-1; ++ i){ if( table[i+1]>=N && table[i]<= N ){ result = min(table[i+1]-N,N-table[i]);break;} } } return result; } };
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。