[問題] 一個簡單的雙迴圈有辦法用其他函數表示嗎?

看板Mathematica作者 (forcing to A cup)時間13年前 (2011/12/07 02:50), 編輯推噓1(1011)
留言12則, 3人參與, 最新討論串1/1
怎麼寫都寫不出來 囧 腦袋卡住了 想了四個小時 =__= 我有編號1,2,3,...16 共16種數字 需要拿兩種來搭配組合(a,b) 其中a<b 也就是會有 (1,2) (1,3)...(1,16).....(2,3),(2,4)...(2,16).....(14,15),(14,16),(15,16) 一共16*15/2=120種組合 由於程式的需要 我必須利用For寫雙迴圈產生這120種組合 以下為程式(i從1開始到16) 搭配(j從i+1開始到16) For[i = 1, i <= 16, i++, For[j = i+1, j <= 16, j++, k = Sum[kk, {kk, 16 - i, 15}] + j - 16; Print[k] ] ] 我希望能產生 k=1,2,3,4,5.....118,119,120這樣的東西 PS. 希望能從黃色的部份去改...... 但是 剛剛發文完之後有寫出來 就如黃色那樣 可是覺得很不漂亮.... >.< 感覺很簡單的東西卻...卡住了 =____=~ 有請邏輯高手幫忙 拜託了 ※ 編輯: harry901 來自: 220.134.252.177 (12/07 02:51) ※ 編輯: harry901 來自: 220.134.252.177 (12/07 02:53) ※ 編輯: harry901 來自: 220.134.252.177 (12/07 03:12) ※ 編輯: harry901 來自: 220.134.252.177 (12/07 03:17)

12/07 03:37, , 1F
唔嗯...何不迴圈外 k=0 迴圈內 k++ 這樣?
12/07 03:37, 1F

12/07 03:38, , 2F
別限死在 i 和 j 啊...
12/07 03:38, 2F

12/07 03:42, , 3F
k++我試過了...mathematica好像不支援迴圈內變數這樣寫
12/07 03:42, 3F

12/07 03:43, , 4F
咦~ 還真的咧... 囧....
12/07 03:43, 4F

12/07 03:44, , 5F
哎呀 就是這麼簡單 原來我剛剛沒在迴圈外k=0 嗚嗚
12/07 03:44, 5F

12/07 03:45, , 6F
謝謝一樓..... 我真笨>.<
12/07 03:45, 6F

12/07 07:31, , 7F
t = Subsets[Range[16], {2}];
12/07 07:31, 7F

12/07 07:32, , 8F
{#, t[[#]]} & /@ Range[Length@t]
12/07 07:32, 8F

12/07 07:32, , 9F
{#, f @@ t[[#]]} & /@ Range[Length@t]
12/07 07:32, 9F

12/08 02:40, , 10F
樓上老師的方法很玄...要練成那樣...我恐怕還有一段距離
12/08 02:40, 10F

12/09 13:14, , 11F

12/09 13:36, , 12F
哇 感恩 有空要來看看上面的文章
12/09 13:36, 12F
文章代碼(AID): #1EtcFhDX (Mathematica)
文章代碼(AID): #1EtcFhDX (Mathematica)