初戰藍橋,從零開始
阿新 • • 發佈:2018-11-25
入門訓練
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;
}