蓝桥题目:2、序列求和,3、圆的面积,4、Fibonacci

2、序列求和

int类型范围在上下21亿多,long与int相同,超过此范围用long long

#include <iostream>

using namespace std;

int main() {
	long long n;
	cin>>n;
	n = (1 + n) * n / 2;
	cout<<n;
	return 0;
}

3、圆的面积

#include <iostream>
#include <cmath>
#include <iomanip>

using namespace std;

int main() {
	double r,PI,s;
	PI = atan(1.0)*4;
	cin>>r;
	s = PI * r * r;
	cout<<fixed<<setprecision(7)<<s;
	return 0;
}

4、Fibonacci

1、使用递归算出值再取余(但不符合题意)

#include <iostream>

int Dg(int n){
    int s;
   	if(n==1||n==2)
   		s=1;
    else
    	s=Dg(n-1)+Dg(n-2);
    return s;
}
int main(){
    int n,s;
    cin>>n;
    s=Dg(n);
    cout<<s%10007;
    return 0;
}

2、每次直接取余

#include <iostream>

using namespace std;

int main() {
	unsigned long f1=1,f2=1,f3=1,n;
	cin>>n;
	if(n>2)
		for(int i=3;i<=n;i++)
		{
			f3=(f1+f2)%10007;
			f1=f2;
			f2=f3;
		}
	cout<<f3;
	return 0;
}
发布了31 篇原创文章 · 获赞 2 · 访问量 6205

猜你喜欢

转载自blog.csdn.net/Yuyao_Xu/article/details/104010035