ACM--再说利用数组存储计算过程对程序效率带来的好处

来源:互联网 发布:粤语 知乎 编辑:程序博客网 时间:2024/05/22 10:43

题目背景:


解法一:

#include<iostream>using namespace std;int main(){long long getStep(int, int);int n,a,b;cin>>n;while(n--){cin>>a>>b;cout<<getStep(a,b)<<endl;}return 0;}long long getStep(int a, int b){b = b - (a-1); //实际上相当于只有1个参数b,a到b换算成从1到t(t这里就是更新后的b,a就为1),步骤都一样 if(b == 2){return 1;} if(b == 3){return 2; }long long f1 = 1;long long f2 = 2;long long step;for(int i=3; i<b; i++){step = f1 + f2;f1 = f2;f2 = step;}return step; }

解法二:

#include<iostream>using namespace std;int main(){int n,a,b;long long resultArray[52];resultArray[0] = 0;resultArray[1] = 1;resultArray[2] = 2;for(int i=3; i<52; i++){resultArray[i] = resultArray[i-1] + resultArray[i-2];} cin>>n;while(n--){cin>>a>>b;cout<<resultArray[b-a]<<endl;}return 0;}
结果分析:

     通过这个简单的例子可以看出,利用数组存储计算过程的好处:

     1:代码简洁

     2:效率高,只要计算一次,则所有的计算结果都放在里面了,后面只需要到对应的位置去取数据即可。

     3:逻辑简单、思路清晰

原创粉丝点击