Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

前の数値を除算した後の配列の合計?


ここで、1つの興味深い問題が発生します。 1つの配列を取得し、前の要素で除算した後、各要素を取得して合計を求めます。配列が{5、6、7、2、1、4}であると考えてみましょう。その場合、結果は5 +(6/5)+(7/6)+(2/7)+(1/2)+(4/1)=12.15238になります。コンセプトを得るためのアルゴリズムを見てみましょう。

アルゴリズム

divSum(arr、n)

begin
   sum := arr[0]
   for i := 1 to n-1, do
      sum := sum + arr[i] / arr[i-1]
   done
   return sum
end

#include <iostream>
using namespace std;
float divSum(int arr[], int n){
   float sum = arr[0];
   for(int i = 1; i<n; i++){
      sum += arr[i] / float(arr[i - 1]);
   }
   return sum;
}
int main() {
   int arr[6] = {5, 6, 7, 2, 1, 4};
   int n = 6;
   cout << "Sum : " << divSum(arr, n);
}

出力

Sum : 12.1524

  1. PythonでK否定後の配列の合計を最大化する

    整数の配列Aがあるとすると、次の方法で配列を変更する必要があります- iを選択してA[i]を-A[i]に置き換えることができ、このプロセスをK回繰り返します。このように変更した後、配列の可能な最大の合計を返す必要があります。 したがって、配列A =[4,2,3]、K =1の場合、出力は5になります。したがって、インデックス1を選択すると、配列は[4、-2,3]になります。 これを解決するには、次の手順に従います- 配列Aを並べ替える 0からA–1の長さの範囲のiの場合 A [i] <0の場合、A [i]:=--A [i]であり、kを1減らします k =0の場合、ル

  2. Pythonでのクエリ後の偶数の合計

    Aと呼ばれる整数の配列と、配列クエリがあるとします。 i番目のクエリ値=querys[i][0]およびindex=querys [i] [1]の場合、A[index]に値を追加します。次に、i番目のクエリの答えはAの偶数の値の合計です。すべてのクエリに対する答えを見つける必要があります。 i番目のクエリに対する回答としてanswer[i]を持つ配列が見つかります。したがって、配列が[1,2,3,4]のようであり、クエリ配列が[[1,0]、[-3,1]、[-4,0]、[2,3]]のようである場合、その場合、回答の配列は[8,6,2,4]のようになります。したがって、最初の配列は[1,2,3,4]