藍橋杯 數字排列

2021-07-10 12:55:47 字數 616 閱讀 8315

今有7對數字:兩個1,兩個2,兩個3,...兩個7,把它們排成一行。

要求,兩個1間有1個其它數字,兩個2間有2個其它數字,以此類推,

兩個7之間有7個其它數字。如下就是乙個符合要求的排列:

17126425374635

當然,如果把它倒過來,也是符合要求的。

請你找出另一種符合要求的排列法,並且這個排列法是以74開頭的。

注意:只填寫這個14位的整數,不能填寫任何多餘的內容,比如說明注釋等。

思路:

1、數字以74開頭,那麼兩個7和兩個四的位置都確定了。這一步要在初始化陣列的時候做好

2、用1-6數字遞迴,超過6 返回

3、每一次遞迴後都要將陣列的i位置和i+n+1的位置變為0 ,因為上次遞迴的時候已經改變這兩個位置的值

**:

#include#includeint a[15];

int dfs(int n)

a[i]=a[i+n+1]=0;//dfs(n+1)已經將a[i]和a[i+n+1]改變}}

return 0;

}int main()

printf("\n");

return 0;

}

藍橋杯 7對數字排列問題

問題描述 今有7對數字 兩個1,兩個2,兩個3,兩個7,把它們排成一行。要求,兩個1間有1個其它數字,兩個2間有2個其它數字,以此類推,兩個7之間有7個其它數字。如下就是乙個符合要求的排列 問題是寫出以74開頭的滿足條件的序列。問題分析 根據問題的描述,我們很容易地知道,第7個位置是4,第9個位置是...

藍橋杯 排列(例題)

排列 permutation 分析 1.兩個重要條件 abc def ghi 1 2 3 1 9 9個自然數組成abc def ghi 三個三位數,且每個數字恰好使用一次。2.由題意,def是abc的兩倍,ghi是abc的三倍,結合1.中條件,可知abc最小是123,最大是329 因為要滿足abc ...

藍橋杯 逆序排列

問題描述 編寫乙個程式,讀入一組整數 不超過20個 並把它們儲存在乙個整型陣列中。當使用者輸入0時,表示輸入結束。然後程式將把這個陣列中的值按逆序重新存放,並列印出來。例如 假設使用者輸入了一組資料 7 19 5 6 2 0,那麼程式將會把前五個有效資料儲存在乙個陣列中,即7 19 5 6 2,然後...