# Array sum after dividing numbers from previous

Find the sum of number of series after dividing the element of array from previous element.

Examples:

Input : 3 7 9 10 12 18
Explanation:  3 + 7/3 + 9/7 + 10/9 +
12/10 + 18/12 = 9 (taking only integer
part)
Output : 9

Input : 1 12 24 30 60
Output : 18

Approach: We take elements in an array and divide the element from previous element. We do this process for all the elements of an array except very first element. Add the result after division and very first element.

Note: If any element is zero in an array then it fails to do the task and return minus one.

Implementation:

## C++

 // C++  program for divide and // sum the number of series #include using namespace std;   int divideAndSum(int arr[], int n) {     int sum = 0;     for (int i = 0; i < n; i++) {                   // checking whether element         // is zero or not         if (arr[i] == 0)             return -1;                   if (i == 0)             sum += arr[i];         else               // divide element from             // previous element             sum += arr[i] / arr[i - 1];     }           return sum; }   // Driver code int main() {     int arr[] = { 3, 7, 9, 10, 12, 18 };     int n = sizeof(arr)/sizeof(arr[0]);     cout << divideAndSum(arr, n);     return 0; }

## Java

 // java program for divide and // sum the number of series import java.io.*;   class GFG {           static int divideAndSum(int arr[], int n)     {         int sum = 0;         for (int i = 0; i < n; i++) {                           // checking whether element             // is zero or not             if (arr[i] == 0)                 return -1;                           if (i == 0)                 sum += arr[i];             else                       // divide element from                 // previous element                 sum += arr[i] / arr[i - 1];         }                   return sum;     }           // Driver code     public static void main (String[] args)     {         int arr[] = { 3, 7, 9, 10, 12, 18 };         int n = arr.length;         System.out.println( divideAndSum(arr, n));       } }   // This code is contributed by vt_m

## Python3

 # Python 3 program for divide and # sum the number of series   def divideAndSum(arr, n):        sum = 0     for i in range(0,n):                     # checking whether element          # is zero or not         if (arr[i] == 0):             return -1                   if (i == 0):             sum += arr[i]         else:                        # divide element from              # previous element              sum += int(arr[i] / arr[i - 1])                  return int(sum)      # Driver code arr =   [3, 7, 9, 10, 12, 18]     n = len(arr) print(divideAndSum(arr, n))   # This code is contributed by # Smitha Dinesh Semwal

## C#

 // C# program for divide and // sum the number of series using System;   class GFG {           static int divideAndSum(int []arr, int n)     {         int sum = 0;         for (int i = 0; i < n; i++) {                           // checking whether element             // is zero or not             if (arr[i] == 0)                 return -1;                           if (i == 0)                 sum += arr[i];             else                       // divide element from                 // previous element                 sum += arr[i] / arr[i - 1];         }                   return sum;     }           // Driver code     public static void Main ()     {         int []arr = { 3, 7, 9, 10, 12, 18 };         int n = arr.Length;         Console.WriteLine( divideAndSum(arr, n));       } }   // This code is contributed by vt_m



## Javascript



Output

9

Time Complexity: O(N )
Auxiliary Space: O(1)