n配列内の数値が与えられた場合(整数であるとは想定できません)、sizeのすべてのサブセットの積を計算したいと思いますn-1。
これは、すべての数値を乗算してから、数値がゼロでない限り、各数値で順番に除算することで実行できます。ただし、分割を行わずにこれをどのくらい迅速に行うことができますか?
除算を許可しない場合、サイズn-1のすべてのサブセットの積を計算するために必要な算術演算(乗算や加算など)の最小数はどれくらいですか?
明らかに(n-1)*n乗算で行うことができます。
明確にするために、出力はn異なる製品であり、許可されるメモリへの読み取りと書き込み以外の操作は乗算、加算、減算のみです。
例
入力は、3つの数字を持っている場合2,3,5、出力は3つの数字である15 = 3*5、10 = 2*5と6 = 2*3。
勝利基準
回答は、コードが使用する算術演算の数の正確な式を与える必要がありnます。人生をシンプルにするために、私はn = 1000あなたのフォーミュラにプラグインしてそのスコアを判断します。低いほど良い。
コードの正確な式を作成するのが難しすぎる場合は、それを実行してn = 1000、コード内の算術演算をカウントできます。ただし、正確な式が最適です。
n=1000簡単に比較できるように、回答にスコアを追加してください。
+れますか?この場合、配列のインデックス付けもカウントされますか?(これは、追加および間接参照のためのすべての構文糖の後にあるため)。
(n-1)*n乗算あなたが意味(n-2)*n右、?