2016-10-17 6 views
0

数N f(N)= N個のパーティション内のパーツの総数。所定の数が4である場合等価パーティションの総数を求める

例について均等区分は次のようになります。

{1,1,1,1} - >総パーツ= 4

{2,2} - >総パーツ= 2

{4} - >総パーツ= 1

したがって、等分4のパーティション内の部品の総数が7

である私はこの問題を持って練習の面接の質問で。プログラミングを使用してこれを解決する方法を知りたい

+0

ようこそスタックオーバーフロー!あなたは[質問する]質問を読んで[mcve]を作成することができます。そうすれば、私たちがあなたを助けやすくなります。 – Katie

答えて

0

Nの各異なる除数dを使用してNの等しい部分(N/d部分の値d、またはd部分の値)を作成することができるので、質問は本質的に数Nのdivisor sum functionを求めるN/d、あなたが好きな方)。 Nの任意の除数dに対するN/dは単なる別の除数であるため、N/dを加算するのではなく、除数自体を単純に合計することができます。

したがって、与えられた数Nの除数を計算する多くの方法の1つを選択する必要があります。たとえば、RosettaCodeは​​です。これはほぼ必要なものです(除数セットにNを追加するだけです)。適切な除数はN自体を含まない)。除数を設定する必要がある場合は、目的の結果を計算することができます(または、除数を格納する必要がないように各除数を計算して合計します)。