數字排列問題
今有7對數字:兩個1,兩個2,兩個3,...兩個7,把它們排成一行。
要求,兩個1間有1個其它數字,兩個2間有2個其它數字,以此類推,兩個7之間有7個其它數字。如下就是乙個符合要求的排列:
17126425374635
當然,如果把它倒過來,也是符合要求的。
請你找出另一種符合要求的排列法,並且這個排列法是以74開頭的。
注意:只填寫這個14位的整數,不能填寫任何多餘的內容,比如說明注釋等。
74****4*7******* 解:
數字排列問題:
根據已知的數列進行重新構造,
首先已經放置好 7 和 4 ;
所以其餘位置放置為0;
從a[14]中的第乙個開始進行構造,每一位即a[t]都有1~7六種情況
在填寫的時候進行判讀當前位置是否為0,
因為要求兩個數字之間相差數字數量等於本身
填寫乙個數直接把對應的下乙個數字進行數列中賦值。
a[t]=i,a[t+i+1]=i;
當判斷完所有位置的時候就是到達乙個解空間,
當t==n-1時判斷a[n-1]最後一位。t==n時到達解空間。
#include #define n 7
int a[14]=;
bool ok(int t,int i)
{ if(t+i+1>=2*n)//控制不超出邊界
return false;
if(a[t+i+1]!=0)//控制填空位置沒有數字
return false;
for(int j=0;j
Python解決數字全排列問題
利用itertools模組 按住control點一下permulations方法,是乙個列舉方法 要list一下,不然它只是乙個物件 如果不是全排列,是按字典序輸出不重複的組合方式可以用這個庫的combinations from itertools import combinations impor...
帶分數(全排列問題 數字運算)
100 可以表示為帶分數的形式 100 3 69258 714 還可以表示為 100 82 3546 197 注意特徵 帶分數中,數字1 9分別出現且只出現一次 不包含0 類似這樣的帶分數,100 有 11 種表示法。題目要求 從標準輸入讀入乙個正整數n n 1000 1000 程式輸出該數字用數碼...
騰訊 數字排列
宣告 題目來自 http blog.csdn.net v july v archive 2010 11 17 6015165.aspxhttp blog.csdn.net v july v archive 2011 01 10 6126406.aspx自己先做一遍。題目 初看此題,貌似很難,10分鐘...