2019年蜀山区区赛试卷(小学组)
作者:互联网
2019年蜀山区区赛试卷(小学组)
1.求和题目描述
斐波拉契数列,又称黄金分割数列,因数学家列昂纳多·斐波那契以兔子繁殖为例子而引入,故又称为
“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、...在数学上,斐波那契数列以如下被以递推的方法定义:F(1)=1,F(2)=1,F(n)=F(n-1)+F(n-2)(3≤n)。
斐波拉契数列的前两项分别为1,1。以后每项为前两项之和。现在输入n,要求斐波拉契数列前n项的和(1≤n≤5000)。
输入格式
输入只有一个数n,表示求斐波拉契数列前n项的和。
输出格式
输出斐波拉契数列前n项的和
输入样例
3
输出样例
4
数据范围
对于40%的数据,n≤10
对于100%的数据,n≤5000
#include <iostream>
#include <cstdio>
#include <string>
#include <algorithm>
using namespace std;
string add(string a,string b){
string c="";
reverse(a.begin(),a.end());
reverse(b.begin(),b.end());
int w=0;
int la=a.size(),lb=b.size();
for(int i=0;i<la||i<lb;i++){
if(i<la) w+=a[i]-'0';
if(i<lb) w+=b[i]-'0';
c.push_back(w%10+'0');
w/=10;
}
if(w) c.push_back(w%10+'0');
reverse(c.begin(),c.end());
return c;
}
int main()
{
int n;
cin>>n;
string f1="1",f2="1",f3,ans;
if(n==1){cout<<"1";return 0;}
if(n==2){cout<<"2";return 0;}
ans="2";
for(int i=3;i<=n;i++){
f3=add(f1,f2);
ans=add(ans,f3);f1=f2;f2=f3;
}
cout<<ans<<endl;
return 0;
}
2.骑车还是走路
题目描述
菲的家住大学校园里。在大学校园里,没有自行车,上课办事会很不方便。但实际上,并非去办任何事情都是骑车快,因为骑车总要找车、开锁、停车、锁车等,这要耽误一些时间。假设找到自行车,开锁并骑上自行车的时间为27秒;停车锁车的时间为23秒;步行每秒行走1.2米,骑车每秒行走3.0米。
请判断走不同的距离去办事,是骑车快还是走路快。
输入格式
输入一行,包含一个整数,表示一次办事要行走的距离,单位为米。
输出格式
输出一行,如果骑车快,首先输出“Bike”,然后输出骑车比走路快的时间,单位为秒;如果走路快,首先输出“Walk”,然后输出走路比骑车快的间,单位为秒;如果一样快,输出一行“All”。(时间四舍五入精确到0.1秒)
输入样例
128
输出样例
Bike 10.0
数据范围
一次办事需要行走的距离不超过5000米。
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int s;
cin>>s;
double t1=s/3.0+50;
double t2=s/1.2;
if(t1<t2) printf("Bike %.1lf\n",t2-t1);
else if (t2<t1) printf("Walk %.1lf\n",t1-t2);
else puts("All");
return 0;
}
标签:输出,数列,int,蜀山区,区赛,2019,骑车,include,string 来源: https://blog.csdn.net/lybc2019/article/details/120970168