【藍橋杯練習題】入門訓練
阿新 • • 發佈:2019-02-19
序列求和
問題描述
求1+2+3+…+n的值。
輸入格式
輸入包括一個整數n。
輸出格式
輸出一行,包括一個整數,表示1+2+3+…+n的值。
樣例輸入
4
樣例輸出
10
樣例輸入
100
樣例輸出
5050
資料規模與約定
1 <= n <= 1,000,000,000
這個題如果是累加計算提交會顯示超時,所以最好的方法是用數學公式計算。。。。。還要注意的就是資料的規模,已經超過了int範圍
#include<stdio.h>
int main()
{
int i;
long long int n,s=0;
scanf("%lld",&n);
if (n>=2)
{
s=(1+n)*n/2;
}
else
s=1;
printf("%lld",s);
return 0;
}
圓的面積
問題描述
給定圓的半徑r,求圓的面積。
輸入格式
輸入包含一個整數r,表示圓的半徑。
輸出格式
輸出一行,包含一個實數,四捨五入保留小數點後7位,表示圓的面積。
樣例輸入
4
樣例輸出
50.2654825
資料規模與約定
1 <= r <= 10000。
提示
本題對精度要求較高,請注意π的值應該取較精確的值。你可以使用常量來表示π,比如PI=3.14159265358979323,也可以使用數學公式來求π,比如PI=atan(1.0)*4。
#include<stdio.h>
#define PI 3.14159265358979323
int main()
{
int r;
double s;
scanf("%d",&r);
s=r*r*PI;
printf("%.7lf",s);
return 0;
}
注意保留小數點的位數。
Fibonacci數列
問題描述
Fibonacci數列的遞推公式為:Fn=Fn-1+Fn-2,其中F1=F2=1。
當n比較大時,Fn也非常大,現在我們想知道,Fn除以10007的餘數是多少。
輸入格式
輸入包含一個整數n。
輸出格式
輸出一行,包含一個整數,表示Fn除以10007的餘數。
樣例輸入
10
樣例輸出
55
樣例輸入
22
樣例輸出
7704
資料規模與約定
1 <= n <= 1,000,000
這個題要用非遞迴法,如果用遞迴會顯示超時
#include <stdio.h>
long long int f[1000001];
int main()
{
int n,i;
while(scanf("%d",&n)!=EOF)
{
f[0]=0;f[1]=1;
for(i=2;i<=n;i++)
{
f[i]=(f[i-1]+f[i-2])%10007;
}
printf("%lld", f[n] );
}
return 0;
}