您的位置:首页 > 其它

蓝桥杯 入门训练四道题

2018-02-12 12:08 155 查看

第一题: 入门训练 Fibonacci数列

重点: 在本题中,答案是要求Fn除以10007的余数,因此我们只要能算出这个余数即可,而不需要先计算出Fn的准确值, 再将计算的结果除以10007取余数,直接计算余数往往比先算出原数再取余简单。

这句话已经告诉你怎么写程序了!

#include <iostream>
using namespace std;
int main() {
unsigned long s=0,f1=1,f2=1,f3=1,n=0;
cin >> n;
if(n>2){
for(s=3;s<=n;s++)
{
//每次计算出f3都是基于(f2+f1)%10007
f3=(f2+f1)%10007;
f1=f2;
f2=f3;
}
}
cout<< f3 <<endl;
return 0;
}


第二题:入门训练 圆的面积

这道题关键在与小数点的精确度,我用的是C++写的,所有需要知道C++double精度如何控制:

第一种方法:

cout<<fixed<<setprecision(20)<<mydouble<<endl;


第二种方法:

cout.precision(dbl::digits);


接下来就简单了,解题代码:

#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int r = 0;
double p1 = 3.14159265358979323;
cin >> r;
cout<<fixed<<setprecision(7)<< (r*r*p1) <<endl;
return 0;
}


第三题:入门训练 序列求和

这道题没啥说的,主要是用暴力的求解方式肯定会出现超时,或者内存占用过大的问题。

#include<iostream>
#include<cmath>
using namespace std;

int main()
{

long long  data,n;
long long sum=0;

cin >> n;
sum=n*(n+1)/2;
cout << sum <<endl;
return 0;
}


第四题:入门训练 A B问题

看过其中的内容了解知道后,直接粘贴复制喽!

#include <iostream>

using namespace std;

int main()
{
int a, b;
cin >> a >> b;
cout << a + b;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  蓝桥杯