こちらに関係してます。
端点一致を探る、組み合わせテスト5 - C#ATIA
段々業務が忙しくなってきたので、思うように取り組めません・・・。
どうしても2進数が直ぐにはイメージ出来ない為、確認用の関数を
探してみました。
10進数の値を2進数に変換する(Excei2000以降)
個人的に
- 出来るだけ再帰は使いたくない
- 戻り値が引数に入るのは許せない
の2点から、参考サイトのコードを修正しこんな感じにしました。
'vba '10進数→2進数ダンプ Private Sub DumpDec2Bin(ByVal n&) Debug.Print "Dec: " + CStr(n) + " Bin: " + ConvDec2Bin(n) End Sub '10進数→2進数 ''' @param :n-long ''' @return:string Private Function ConvDec2Bin(ByVal n&) As String Dim res: res = vbNullString Dim tmp& Do tmp = n \ 2 If tmp = 0 Then res = (n Mod 2) & res Exit Do End If res = (n Mod 2) & res n = tmp Loop ConvDec2Bin = res End Function
参考サイトのものを利用して0~100万まではチェックしたから、恐らく大丈夫なはず。
8分木は後回しにして、とりあえず遅くても動くものを先に完成させようかな。