藍橋杯 基礎練習

2021-10-07 16:40:35 字數 1747 閱讀 3587

basic-1 閏年判斷

給定乙個年份,判斷這一年是不是閏年。當以下情況之一滿足時,這一年是閏年:

①年份是4的倍數而不是100的倍數;

②年份是400的倍數。

#include

using

namespace std;

intmain()

basic-2 01字串

對於長度為5位的乙個01串,每一位都可能是0或1,一共有32種可能。它們的前幾個是:

00000

00001

00010

00011

00100

請按從小到大的順序輸出這32種01串。

由於只有0、1兩種字元,可採用迴圈的方式對其進行遍歷,從而獲得00000-11111按順序排列的01字串。

#include

intmain()

或者,通過對每一行的每個下標的值進行處理。

index為陣列下標,每一行以a[4]-a[0]的順序,將應置為1的陣列元素置1,其餘為預設元素0.

temp想當於每一行的十進位制數,「為獲得其二進位制數,可採用除2的方式」(相當於十進位制轉二進位制時的方法),從而獲得每一行的01字串行。

#include

using

namespace std;

intmain()

;int index=4;

temp=i;

while

(index>=0)

for(j=

0;j<

5;j++

) cout<; cout<}return0;

}

basic-3 字母圖形

利用字母可以組成一些美麗的圖形,下面給出了乙個例子:

abcdefg

babcdef

cbabcde

dcbabcd

edcbabc

這是乙個5行7列的圖形,請找出這個圖形的規律,並輸出乙個n行m列的圖形。

這道題容易作,但想拿滿分還是有一定難度的,需要考慮的十分全面。 我看了網上大多數方法僅侷限於此題的資料規模與約定(1 <= n, m <= 26) 而下述程式不僅滿足改題目要求,並且其資料規模的範圍更大。

字元陣列a是將其按輸出順序排列,便於後續按順序訪問。

當n=5,m=7時,第一行為:abcdefg,而第二行為:babcdef…

由此可見,第一行從a[0]開始往後m個字母,第二行第乙個字元為a[49](相當於i=-1時,j=-1,因為x=j,所以x=-1。因為當x<0時會進行x+=50的操作,所以轉到了a[49]處)依次輸出a[49]後面字元,(他的後面沒有了,所以又回到a[0]了)。

以此類推,第三行為:cbabcde。按上述方法可求得。

因為獲得如下程式。

#include

using

namespace std;

intmain()

;int i,j,x;

for(i=

0;i>

-n;i--

) cout<}return0;

}

藍橋杯 基礎練習

模擬。include using namespace std intmain 五重迴圈列舉或dfs均可。include using namespace std string s 00000 void dfs int dep s dep 0 dfs dep 1 s dep 1 dfs dep 1 in...

藍橋杯 基礎練習(2 21)

給出乙個包含n個整數的數列,問整數a在數列中的第一次出現是第幾個。第一行包含乙個整數n。第二行包含n個非負整數,為給定的數列,數列中的每個數都不大於10000。第三行包含乙個整數a,為待查詢的數。如果a在數列 現了,輸出它第一次出現的位置 位置從1開始編號 否則輸出 1。61 9 4 8 3 9 9...

藍橋杯練習 基礎練習 查詢整數

題目鏈結 問題描述 給出乙個包含n個整數的數列,問整數a在數列中的第一次出現是第幾個。輸入格式 第一行包含乙個整數n。第二行包含n個非負整數,為給定的數列,數列中的每個數都不大於10000。第三行包含乙個整數a,為待查詢的數。輸出格式 如果a在數列中出現了,輸出它第一次出現的位置 位置從1開始編號 ...