[問題] 請教為何列印不出結果

作者: shingai (shingai)   2018-11-28 21:27:14
[問題類型]:
迴圈問題
[軟體熟悉度]:
入門(寫過其他程式,只是對語法不熟悉)
[問題敘述]:
塗色問題,我只是想列印出所有在2*3格子中,左右不同色且上下不同色的列舉。
Run下去,完全沒有動靜,想請教如何排除障礙
[程式範例]:
m<-gtools::permutations(5,3,1:5,rep=FALSE);
for(i in 1:5)
{
if(j==1)
{
if(m[i,1]!=m[j,1])
{
if(m[i,2]!=m[j,2])
{
if(m[i,3]!=m[j,3])
{
print(rbind(m[i,],m[j,]))
}
}
}
}
}
[環境敘述]:
compiler_3.4.3 tools_3.4.3 gtools_3.8.1
作者: andrew43 (討厭有好心推文後刪文者)   2018-11-28 21:47:00
code不完整我不是很懂題意,猜你少了一層給j的for loop
作者: shingai (shingai)   2018-11-28 21:59:00
我在測試j==1時跑不跑得出來...
作者: andrew43 (討厭有好心推文後刪文者)   2018-11-28 22:16:00
參考 https://ideone.com/tHKiZpri如果不懂就先看看combn(1:5, 2)是什麼結果上下列全不等的判斷不用檢查3次,用all(上列 != 下列)
作者: shingai (shingai)   2018-11-28 22:41:00
ri真是關鍵!謝謝!! 我意會到我的碼有好多洞了!all(c(1,2,3)!=c(2,3,1)) 竟然是TRUE,這邊好像怪怪的沒事...XD
作者: andrew43 (討厭有好心推文後刪文者)   2018-11-29 07:53:00
每列5抽3不放回可能和題意不符,例如某列1 2 1看來也符合題意。我只是照你的寫法往下寫。另外ri只是組合,使得成果的上列與下列對調不能被區分https://ideone.com/ZVizRL 這是沒有上述限制的code
作者: shingai (shingai)   2018-11-29 12:55:00
謝謝,我搞錯囉,不是塗色問題!

Links booklink

Contact Us: admin [ a t ] ucptt.com