藍橋杯入門訓練
阿新 • • 發佈:2018-03-20
long nac 遞歸 問題 mod 生活 cin 算法 閱讀
題目: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 (inti = 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; }
感謝您的閱讀,生活愉快~
藍橋杯入門訓練