将上一个数字除以后的数组总和?
在这里,我们将看到一个有趣的问题。我们将取一个数组,然后将每个元素除以先前的元素,然后取每个元素来求和。让我们考虑一个数组为{5,6,7,2,1,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