2017-03-21 12 views
-1

長さkのバイナリ文字列を考えてください。バイナリ文字列は、正確にm個のゼロを持ちます(したがって、残りのk-m要素は "1"です)。要素0から要素1へと正確にj回遷移するそのような文字列の総数はいくらですか? (jは1〜2mの間の任意の数でよい)。 k = 5、m = 2、j = 1の場合、11100と00111の2つの文字列しかありません。 k = 5、m = 2、j = 3の場合、10110、 k = 5、m = 2、j = 4の場合、そのような文字列は1つしかありません:10101.隣接する番号との組み合わせ

答えて

0

これは1つの方法です。

#Example 1 
k <- 5 
m <- 2 
j <- 1 

y <- expand.grid(rep(list(0L:1L), k)) 
zeros <- apply(y,1,function(x) sum(x == 0)) 
chg <- apply(y,1,function(x) sum(diff(sign(x)) != 0)) 

y[zeros==m&chg==j,] 
    Var1 Var2 Var3 Var4 Var5 
8  1 1 1 0 0 
29 0 0 1 1 1 

#Example 2 
k <- 5 
m <- 2 
j <- 3 

y <- expand.grid(rep(list(0L:1L), k)) 
zeros <- apply(y,1,function(x) sum(x == 0)) 
chg <- apply(y,1,function(x) sum(diff(sign(x)) != 0)) 

y[zeros==m&chg==j,] 
    Var1 Var2 Var3 Var4 Var5 
12 1 1 0 1 0 
14 1 0 1 1 0 
23 0 1 1 0 1 
27 0 1 0 1 1 

#Example 3 
k <- 5 
m <- 2 
j <- 4 

y <- expand.grid(rep(list(0L:1L), k)) 
zeros <- apply(y,1,function(x) sum(x == 0)) 
chg <- apply(y,1,function(x) sum(diff(sign(x)) != 0)) 

y[zeros==m&chg==j,] 
    Var1 Var2 Var3 Var4 Var5 
22 1 0 1 0 1 
関連する問題