蓝桥杯--入门

mac2025-04-03  14

蓝桥杯–入门训练

1.Fibonacci数列取余

Fibonacci数列当n比较大时,Fn也非常大,求Fn除以10007的余数是多少。

这是蓝桥杯入门训练里的一道题,我首先用的函数递归,这是我大一学的内容,最后超时了。我是先求出数列答案,再取余。下边是函数内容: long long int f(int n){ if( n==1 || n==2 ){ return 1; }else{ return f(n-1)+f(n-2); } } 然后根据提示我用了 a[i]=(a[i-1]+a[i-2])%10007;(没超时,满分吖~)代码完整如下: #include<iostream> using namespace std; #define Max 1000000 long long int a[Max]={0}; int main(){ int n; cin>>n; if( n==1 || n==2 ){ a[1]=a[2]=1; }else{ a[1]=a[2]=1; for(int i=3;i<=n;i++){ a[i]=(a[i-1]+a[i-2])%10007; } } cout<<a[n]<<endl; }

2.求和

求1+2+3+…+n的值。

暴力做法从1+···+100当然是不可取哒~7岁高斯上线!l利用 sum=(1+n)*n/2;即可。记得给sum值加上long long int 哦!

3.圆的面积

这是我完全一次性over的题目(也不知道小学生水平在高兴什么??)。 printf("%.7lf",PI*r*r); //这是在输出拥有7位小数的实数

4.总结

虽然练习才刚刚开始,连博客也是刚刚接触,磕磕绊绊,希望还来得及~一起加油~
最新回复(0)