其他分享
首页 > 其他分享> > 2019年蜀山区区赛试卷(小学组)

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