蓝桥杯入门训练

 

题目: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;
}
        

 

感谢您的阅读,生活愉快~

posted @ 2018-03-20 16:40  林-兮  阅读(531)  评论(0编辑  收藏  举报