初战蓝桥,从零开始

入门训练
1.A+B

#include<stdio.h>
int main()
{
 int a,b;
 scanf("%d %d",&a,&b);
 printf("%d",a+b);
 return 0;
 } 

2.序列求和 (注意long long int输出时%lld,同时也要注意题目的数据规模)

#include<stdio.h>
int main()
{
 long long int n,sum;
 scanf("%d",&n);
 sum = n * (1 + n) / 2;
 printf("%lld",sum);
 return 0;
 } 

3.圆面积 (注意return 0和&)

#include<stdio.h>
#include<math.h>
int main()
{
 int r;
 double s;
 const double PI = atan(1.0)*4;
 scanf("%d",&r);
 s = PI * r * r; 
 printf("%.7f",s);
 return 0;
 } 

4.斐波那契数列 (先取余与后取余结果相同)

#include<stdio.h>
int main()
{
 int i,n,a,b,c;
 a=b=1;
 scanf("%d",&n);
 if(n == 1||n == 2){
  printf("1");return 0; 
 }
 for(i=3;i<=n;i++)
 {
  c=(a+b)%10007;
  a=b;
  b=c;
 }
 printf("%d",c);
 return 0;
}

数组法

#include<stdio.h>
    #define maxn 1000001
    #define divisor 10007
    int a[maxn];
    int main()
    {
     int i,n;
     scanf("%d",&n);
     a[1]=a[2]=1;
     for(i=3;i<=n;i++)
     {
      a[i]=(a[i-1]+a[i-2]) % divisor;
     }
     printf("%d\n",a[n]);
     return 0;
    }

猜你喜欢

转载自blog.csdn.net/weixin_43511030/article/details/84483358
今日推荐