1. 程式人生 > >藍橋杯練習之入門訓練

藍橋杯練習之入門訓練

第一題:

問題描述
Fibonacci數列的遞推公式為:Fn=Fn-1+Fn-2,其中F1=F2=1。

當n比較大時,Fn也非常大,現在我們想知道,Fn除以10007的餘數是多少。

輸入格式
輸入包含一個整數n。
輸出格式
輸出一行,包含一個整數,表示Fn除以10007的餘數。
說明:在本題中,答案是要求Fn除以10007的餘數,因此我們只要能算出這個餘數即可,而不需要先計算出Fn的準確值,再將計算的結果除以10007取餘數,
直接計算餘數往往比先算出原數再取餘簡單。

樣例輸入
10
樣例輸出
55
樣例輸入
22
樣例輸出
7704
資料規模與約定
1 <= n <= 1,000,000。
#include <iostream>
using namespace std;
int main()
{
    int number,x1,x2,x3;
    cin>>number;
    if(number == 1 || number == 2) cout<<1<<endl;
    else{
        x1 = x2 = 1;
        for(int i=3;i<=number;i++)
        {
            x3 = (x1 + x2)%10007;
            x1 = x2;
            x2 = x3;
        }
        cout<<x3<<endl;
    }
    return 0;
}

第二題:

問題描述
給定圓的半徑r,求圓的面積。
輸入格式
輸入包含一個整數r,表示圓的半徑。
輸出格式
輸出一行,包含一個實數,四捨五入保留小數點後7位,表示圓的面積。
說明:在本題中,輸入是一個整數,但是輸出是一個實數。

對於實數輸出的問題,請一定看清楚實數輸出的要求。
比如本題中要求保留小數點後7位,則你的程式必須嚴格的輸出7位小數,輸出過多或者過少的小數位數都是不行的,都會被認為錯誤。

實數輸出的問題如果沒有特別說明,舍入都是按四捨五入進行。

樣例輸入
4
樣例輸出
50.2654825
資料規模與約定
1 <= r <= 10000。
提示
本題對精度要求較高,請注意π的值應該取較精確的值。
你可以使用常量來表示π,比如PI=3.14159265358979323,也可以使用數學公式來求π,比如PI=atan(1.0)*4。
#include <iostream>
#include <stdio.h>
#include <math.h>
using namespace std;
#define PI atan(1.0)*4
int main()
{
    int number;
    scanf("%d",&number);
    printf("%.7f\n",number*number*PI);
    return 0;
}

第三題:

問題描述
求1+2+3+...+n的值。
輸入格式
輸入包括一個整數n。
輸出格式
輸出一行,包括一個整數,表示1+2+3+...+n的值。
樣例輸入
4
樣例輸出
10
樣例輸入
100
#include <iostream>
#include <stdio.h>
using namespace std;

int main()
{
    long long number;
    scanf("%I64d",&number);
    printf("%I64d\n",(number+1)*number/2);
    return 0;
}

第四題:

問題描述
輸入A、B,輸出A+B。

輸出格式
輸出一行,包括一個整數,表示A+B的值。
說明:“輸出格式”是要求你的程式在輸出結果的時候必須滿足的格式。

在輸出時,你的程式必須滿足這個格式的要求,不能少任何內容,也不能多任何內容。
如果你的內容和輸出格式要求的不一樣,你的程式會被判斷為錯誤,
包括你輸出了提示資訊、中間除錯資訊、計時或者統計的資訊等。
樣例輸入
12 45
樣例輸出
57
#include <stdio.h>
 
int main()
{
    int a, b;
    scanf("%d%d", &a, &b);
    printf("%d", a+b);
    return 0;
}