题目:http://lx.lanqiao.cn/problemset.page?code=BEGIN-&userid=188230
一、Fibonacci数列
优化方法:不能直接每次求取Fibonacci递归,要用数组将原来算过的数据存储下来,因为相同的情况递归算法会重复算很多次。
time:15ms
#include<iostream> using namespace std; const int mod = 10007; int arr[1000005]; int main() { arr[0] = 0; arr[1] = arr[2] = 1; for (int i = 3; i <= 1000000; ++i) arr[i] = (arr[i - 1] + arr[i - 2]) % mod; int num; cin >> num; cout << arr[num] << endl; return 0; }
二、圆的面积
time:15ms
#include<iostream> #include<iomanip> using namespace std; const double PI = 3.14159265358979323; int main() { int num; cin >> num; cout << setiosflags(ios::fixed); cout << setprecision(7); cout << PI*num*num << endl; return 0; }
三、序列求和
公式无敌!!有公式的绝不代码模拟过程
time:0ms
#include<iostream> #include<cstdio> using namespace std; int main() { long long int num; scanf("%I64d", &num); long long int res = (1 + num)*num / 2; printf("%I64d\n", res); return 0; }
四、A+B问题
#include<iostream> using namespace std; int main() { int a,b; cin>>a>>b; cout<<a+b<<endl; return 0; }
感谢您的阅读,生活愉快~