私は数値のセットを持っています。たとえば、set = [1,3,4,5,6,7,8]
です。ループを書く必要があります。これは、たとえば合計がmax = 30
より小さい要素だけを選択します。条件がFalseの場合、Haskell Iterateを繰り返します。
for(int i = 0;i<set.length();i++) { total = total + set[i]; if (total <= max) return i; }
.....
elements are from 0 to returned index
私は、1サイクルだけを使用してそれを再帰的にhaskellで行う方法は知られていません。
"のみ1サイクル" とは何を意味するのでしょうか?あなたがリストの1つのトラバーサルを意味するならば、あなたが怠惰を利用する場合、それは必要であると確信していますか? – Carl