[過去ログ] 関数型プログラミング言語Haskell Part33 (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
314(1): 2020/05/07(木)10:57 ID:zCrpEpjK(1) AAS
書籍「関数プログラミング 珠玉のアルゴリズムデザイン」で分からない所があります。
2ページ目3行目
xsに含まれない最小の数は、filter (<= n) xs に含まれない最小の数ということになる。
ここで < ではなく、<= なのは何故でしょうか。
< を使って条件を厳しくしても、
xs = [0], n = 1 ===> filter (<n) xs = [0]
[0] に含まれない最小数 = 1
xs = [1], n = 1 ===> filter (<n) xs = []
[] に含まれない最小数 = 0
このように問題無いように思えます。
316(1): 2020/05/07(木)17:22 ID:mCGt79kv(1) AAS
>>314
その直前に
[0..(length xs)] の範囲にある数の少なくとも1つはxsに含まれていない
とあるので(鳩の巣原理)、その自然な帰結として
length xs より大きい数は、たとえxsに含まれていたとしても探索の対象にする必要はない
ということで filter (<= n) xs (where n = length xs) が出てくるのだと思う
そこで filter (<n) xs では意味がわからない(自明ではない)
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.035s