入门训练
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;
}