1. 程式人生 > >藍橋杯入門訓練

藍橋杯入門訓練

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 (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;
}
        

感謝您的閱讀,生活愉快~

藍橋杯入門訓練