2020第十一屆藍橋杯軟件類省賽第二場C/C++ 大學 B 組 填空題題解(未拿省一的個人反思)


試題 A: 門牌制作

【問題描述】
小藍要為一條街的住戶制作門牌號。
這條街一共有 2020 位住戶,門牌號從 1 到 2020 編號。
小藍制作門牌的方法是先制作 0 到 9 這幾個數字字符,最后根據需要將字
符粘貼到門牌上,例如門牌 1017 需要依次粘貼字符 1、 0、 1、 7,即需要 1 個
字符 0, 2 個字符 1, 1 個字符 7。
請問要制作所有的 1 到 2020 號門牌,總共需要多少個字符 2?

答案:

624

試題 B: 既約分數

【問題描述】
如果一個分數的分子和分母的最大公約數是 1,這個分數稱為既約分數。
例如,都是既約分數。

請問,有多少個既約分數,分子和分母都是 1 到 2020 之間的整數(包括 1
和 2020)?

解析:

直接調用__gcd(),gcd==1即++

答案:

2481215

試題 C: 蛇形填數

如下圖所示,小明用從 1 開始的正整數“蛇形”填充無限大的矩陣。
1 2 6 7 15 :::
3 5 8 14 :::
4 9 13 :::
10 12 :::
11 :::
:::

容易看出矩陣第二行第二列中的數是 5。請你計算矩陣中第 20 行第 20 列
的數是多少 ?

答案:

761

反思:

這次比賽,我敗在了這個題上。當然不能怪它,這的確是個好題,怪我自己的臨場發揮不行。

由於怕推導公式出錯,我進行了模擬,但是由於坐標多加多減以及其他問題,調試了長達一個半小時。直接導致心態爆炸,七數碼沒空做,大題草草了事,很是后悔。

賽后,五分鍾連寫帶調,出結果。果然,心態,還得練。

#include<iostream>
#include<cstring>
#include<algorithm>
#include<cmath>
using namespace std;
int m[111][111];
int main()
{
    int cnt=2;
    int ok=0;
    int ans=2;
    int x=1,y=2;m[1][1]=1;
    while(x<=50&&y<=50)
    {
        if(!ok)
        {

            for(int i=1;i<=ans;i++)
            {
                m[x][y]=cnt;
                cnt++;
                x++;y--;
            }
            x--;y++;
            x+=1;
            ok=1;
        }
        else
        {
            for(int i=1;i<=ans;i++)
            {
                m[x][y]=cnt;
                cnt++;
                x--;
                y++;    
            }
            x++;
            y--;
            y++;
            ok=0;
        }
        ans++;
    }
    cout<<m[20][20];
//    for(int i=1;i<=30;i++)
//    {
//        for(int j=1;j<=30;j++)
//            cout<<m[i][j]<<" ";
//            cout<<endl;
//    }
}

試題 D: 跑步鍛煉

【問題描述】
小藍每天都鍛煉身體。
正常情況下,小藍每天跑 1 千米。如果某天是周一或者月初(1 日),為了
激勵自己,小藍要跑 2 千米。如果同時是周一或月初,小藍也是跑 2 千米。
小藍跑步已經堅持了很長時間,從 2000 年 1 月 1 日周六(含)到 2020 年
10 月 1 日周四(含)。請問這段時間小藍總共跑步多少千米?

答案:

8879

反思:

2020 9 30之前的全模擬算對了,但是在10月1出了差錯,明明是1號應該+2,但是我+1。真的很想給自己一巴掌。

試題 E: 七段碼

【問題描述】
小藍要用七段碼數碼管來表示一種特殊的文字。

上圖給出了七段碼數碼管的一個圖示,數碼管中一共有 7 段可以發光的二 極管,分別標記為 a, b, c, d, e, f, g。
小藍要選擇一部分二極管(至少要有一個)發光來表達字符。在設計字符 的表達時,要求所有發光的二極管是連成一片的。
例如: b 發光,其他二極管不發光可以用來表達一種字符。
例如: c 發光,其他二極管不發光可以用來表達一種字符。這種 方案與上 一行的方案可以用來表示不同的字符,盡管看上去比較相似。
例如: a, b, c, d, e 發光, f, g 不發光可以用來表達一種字符。
例如: b, f 發光,其他二極管不發光則不能用來表達一種字符,因為發光 的二極管沒有連成一片。
請問,小藍可以用七段碼數碼管表達多少種不同的字符?

另外寫了篇較為詳細的題解:

https://www.cnblogs.com/liyexin/p/13893257.html

 

 

由於很多評測網站還沒有上線本次大題。先寫到這兒吧。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM