1

引数lstが適切に表現されたセットであるかどうかをチェックする適切なセット関数を作成する必要があります。つまり、重複のない整数のみで構成されるリストであり、true #t または false #f を返します。例えば:

(good-set? (1 5 2)) => #t

(good-set? ()) => #t

(good-set? (1 5 5)) => #f

(good-set? (1 (5) 2)) => #f

そのため、関数を次のように書き始めました。

(define (good-set? lst) 

なので、この後の行方がわかりません。誰でも助けることができますか?

4

3 に答える 3

1

セットはRacket 標準ライブラリに組み込まれています。何かカスタマイズする必要が本当にない限り、リストに関してそれらを再実装しないことをお勧めします。


これを宿題として扱う必要がある場合は、設計方法論を使用してこの問題に体系的に取り組むことをお勧めします。この場合、リストで機能する関数の設計に関しては、プログラムの設計方法のようなものを参照してください。簡単なスケッチとして、体系的に把握します。

  • 扱っているデータの構造は?
  • どのようなテスト ケースを検討しますか? (ベースケース含む)
  • 関数の全体的な形は何ですか?
  • の意味は何natural recursionですか?
  • natural recursionの結果を組み合わせて合計の解を計算するにはどうすればよいですか?
于 2013-04-15T19:36:55.333 に答える