題目 有四個數字:1、2、3、4,能組成多少個互不相同且無重複數字的三位數?各是多少?
不想用三個迴圈,用了2個迴圈+去除某個元素的形式,感覺好像更複雜了……
li=[1
,2,3
,4]li2=[1
,2,3
,4]#避免迴圈1中刪改li中元素的影響
nums=
#迴圈1
for i in
range(4
):li3=
li.pop(i)
li3.extend(li)
#避免迴圈2中刪改li中元素的影響
#迴圈2
for j in li:
li.remove(j)
num1=
str(j)
+str
(li[1]
)+str(li[0]
) num2=
str(j)
+str
(li[0]
)+str(li[1]
) nums.extend(
[int
(num1)
,int
(num2)])
#將li復位成未刪改前的格式
del li[:]
li.extend(li3)
#將li復位成未刪改前的格式
del li[:]
li.extend(li2)
print
(nums,
len(nums)
)
共 4x3x2=24種結果
結果如下
[243, 234, 342, 324, 432, 423, 143, 134, 341, 314, 431, 413, 142, 124, 241, 214, 421, 412, 132, 123, 231, 213, 321, 312] 24
數字組合問題
題目 有1 2 3 4個數字,能組成多少個互不相同且無重複數字的三位數?都是多少?程式分析 可填在百位 十位 個位的數字都是1 2 3 4。組成所有的排列後再去 掉不滿足條件的排列。方法一 列出取值範圍內所有資料,分別檢查是否符合條件 public static void calculatenum1...
數字組合問題
設有n個正整數,現在需要你設計乙個程式,使他們連線在一起成為最大的數字,例3個整數 12,456,342 很明顯是45634212為最大,4個整數 342,45,7,98顯然為98745342最大 程式要求 輸入整數n 接下來一行輸入n個數字,最後一行輸出最大的那個數字!題目解析 拿到這題目,看起要...
LintCode 數字組合
給出一組候選數字 c 和目標數字 t 找到c中所有的組合,使找出的數字和為t。c中的數字可以無限制重複被選取。例如,給出候選陣列 2,3,6,7 和目標數字7,所求的解為 7 2,2,3 您在真實的面試中是否遇到過這個題?yes 樣例給出候選陣列 2,3,6,7 和目標數字7 返回 7 2,2,3 ...