だから私は Mathematica の初心者で、機能的な方法で問題を解決する方法を学ぼうとしています。私が解決していた問題は、リストから要素を (繰り返しで) 合計できる方法をリストすることでした。そのため、合計はある値に相当します。以下のコードはこれをうまく解決します。
i = {7.25, 7.75, 15, 19, 22};
m = 22;
getSum[l_List, n_List] := Total[Thread[{l, n}] /. {x_, y_} -> x y];
t = Prepend[Map[Range[0, Floor[m/#]] &, i], List];
Outer @@ %;
Flatten[%, ArrayDepth[%] - 2];
Map[{#, getSum[i, #]} &, %];
DeleteCases[%, {_, x_} /; x > m || x == 0];
TableForm[Flatten /@ SortBy[%, Last], 0,
TableHeadings -> {None, Append[i, "Total"]}]
ただし、コードは多くの不必要なケースをチェックします。これは、m がリストの上位にある場合に問題になる可能性があります。私の質問は、効率とコードの優雅さの両方に関して、この問題を解決する最も Mathematica らしい方法は何であるかということです。