1. 程式人生 > >初戰藍橋,從零開始

初戰藍橋,從零開始

入門訓練
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;
    }