文章分類提示:問題
[問題類型]:程式諮詢
[軟體熟悉度]:入門
[問題敘述]:
想要寫一個重複組合的程式,可以將所有可能的結果列出來
例如: 求x+y+z=25的正整數解
我能想到的就只有利用3個for及if即可把所有可能全部列出來
但我需要的是給定n個x,以及加總的數目,即以下狀況:
x1+x2+...+xn=k,因此若用for的話會有n個for。
使用for及if的程式如下:
q=0
result=matrix({0},nrow=351,ncol=3)
for ( i in 0:25 )
{
for ( j in 0:25 )
{
for (k in 0:25 )
{
if( i+j+k==25 )
{
q=q+1
result[q,]=c(i,j,k)
}
}
}
}
另外一問,有方法將新列出的可能自動加進新列嗎?
這樣就不需給定nrow的值了XD
謝謝各位!
[關鍵字]:重複組合