これは宿題です
私はプロジェクトに取り組んでいますが、非常に小さい (非常に小さい、これが機能するようになると... 基本的にプロジェクトの残りの前提条件です) 部分は、Go ルーチンを使用していくつかの組み合わせを生成することです。
したがって、私が持っているコードは次のとおりです。
package bruteforce
// GenerateCombinations is an iterator function. Given an alphabet and a
// length, it will generate every possible combination of the letters in
// alphabet of the specified length.
//
// It is meant to be consumed by using the range clause:
//
// for combination := range GenerateCombinations(alphabet, length) {
// process(combination)
// }
//
func GenerateCombinations(alphabet string, length int) <-chan string {
GenerateCombinations(alphabet, length):
if length == 0:
yield ""
else:
for i := range alphabet{
for j := range GenerateCombinations(alphabet, length-1){
i + j
}
}
return nil
}
私は真剣にこれをまったく理解していません。ご覧のとおり、インストラクターが提供する疑似コードがいくつかありますが、その実装は私の頭を悩ませています。
I/O の例は次のようになります。
アルファベットが {0, 1} でパスワードの長さが 2 の場合、{0, 1, 00, 01, 10, 11} を生成する必要があります。
私はすべての提案に感謝しますが、「初心者」という用語は囲碁の私の能力を説明し始めていないことを認識してください. 「チャネルを使用してください」などと言っても、まったく役に立ちません。説明は私の友人です...「チャネルを使用する」ことを除いて、教授から得た幸運はあまりありませんでした。