000000 ランダム
 ホーム | 日記 | プロフィール 【フォローする】 【ログイン】

satocchiaブログ

satocchiaブログ

【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! --/--
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
X

PR

×

キーワードサーチ

▼キーワード検索

カレンダー

コメント新着

tomoZo@ Re:Pale Moon日本語化トラブル(06/06) はじめまして。 28.16.0でまたもや提供さ…
satocchia@ Re[1]:Pale Moon日本語化トラブル(06/06) zui_9さんへ 本日、確認しました。ようや…
zui_9@ Re:Pale Moon日本語化トラブル(06/06) 上記リンク「Githubのプロジェクト」の左…
わたなべ@ Re:powershellコンソール、見づらくありませんか?(08/26) 初めまして、この情報最高です! 背景を白…
y__@ Re:uwscでGUIフォーム(05/12) UWSC 仮掲示板から飛んできました。 HTAで…

ニューストピックス

2018.09.06
XML
カテゴリ:アルゴリズム
前回​から日がたったんですが、忘れていたわけではありません。
で、まずはコードから。

function NCR( [int]$N, [int]$R ){
    filter reverse{
        $_ -replace "0", "z" -replace "1", "0" -replace "z", "1"
    }
    function register( $N, $R, $Bits ){
        if ( !$Global:NCR ){
            $Global:NCR=@{}
        }
        $Global:NCR."$N,$R"=$bits
    }
    if ( ( $N -lt 1 ) -or ( $R -lt 0 ) -or ( $N -lt $R ) ){
        return
    } elseif ( $Global:NCR."$N,$R" ){
        return $Global:NCR."$N,$R"
    } elseif ( $R -eq 0 ){
        $bits=@("0"*$N)
    } elseif ( $R -eq 1 ){
        $bits=0..($N-1)|%{
            $bitary=@("0")*$N
            $bitary[ $_ ]="1"
            $bitary -join ""
        }
    } elseif ( $R -gt ( $N - $R ) ){
        $bits=NCR $N ( $N - $R )|reverse
    } else {
        $bits=@()
        NCR ( $N - 1 ) $R|%{
            $bits+=, "0$_"
        }
        NCR ( $N - 1 ) ( $R - 1 )|%{
            $bits+=, "1$_"
        }
    }
    $bits|write-output
    register $N $R $bits
}
ま、このあとに、NCR 13 8みたいなかんじで打ち込めば、組み合わせが出てくるんですよね。
NCR 5 3 だとこんな感じ
PS C:\Users\****\Desktop> NCR 5 3
11100
11010
11001
10011
10101
10110
00111
01011
01101
01110
どこが組み合わせだって? ビットの立っている桁を見ればOK。
上の例だと順に
[5,4,3,],[5,4,2],[5,4,1]...てな具合。





お気に入りの記事を「いいね!」で応援しよう

最終更新日  2018.09.06 19:23:04
コメント(0) | コメントを書く
[アルゴリズム] カテゴリの最新記事



© Rakuten Group, Inc.
X