# Find the sum of elements of the Matrix generated by the given rules

• Last Updated : 28 May, 2022

Given three integers A, B, and R, the task is to find the sum of all the elements of the matrix generated by the given rules:

1. The first row will contain a single element which is A and the rest of the elements will be 0.
2. The next row will contain two elements all of which are (A + B) and the rest are 0s.
3. Third row will contain (A + B + B) three times and the rest are 0s and so on.
4. The matrix will contain only R rows.

For example, if A = 5, B = 3 and R = 3 then the matrix will be:
5 0 0
8 8 0
11 11 11
Examples:

Input: A = 5, B = 3, R = 3
Output: 54
5 + 8 + 8 + 11 + 11 + 11 = 54
Input: A = 7, B = 56, R = 1
Output:

Approach: Initialize sum = 0 and for every 1 ≤ i ≤ R update sum = sum + (i * A). After every iteration update A = A + B. Print the final sum in the end.
Below is the implementation of the above approach:

## C++

 `// C++ implementation of the approach``#include ``using` `namespace` `std;` `// Function to return the required sum``int` `sum(``int` `A, ``int` `B, ``int` `R)``{` `    ``// To store the sum``    ``int` `sum = 0;` `    ``// For every row``    ``for` `(``int` `i = 1; i <= R; i++) {` `        ``// Update the sum as A appears i number``        ``// of times in the current row``        ``sum = sum + (i * A);` `        ``// Update A for the next row``        ``A = A + B;``    ``}` `    ``// Return the sum``    ``return` `sum;``}` `// Driver code``int` `main()``{` `    ``int` `A = 5, B = 3, R = 3;``    ``cout << sum(A, B, R);` `    ``return` `0;``}`

## Java

 `// JAVA implementation of the approach``import` `java.util.*;``import` `java.lang.*;``import` `java.io.*;` `class` `GFG``{` `// Function to return the required sum``static` `int` `sum(``int` `A, ``int` `B, ``int` `R)``{` `    ``// To store the sum``    ``int` `sum = ``0``;` `    ``// For every row``    ``for` `(``int` `i = ``1``; i <= R; i++)``    ``{` `        ``// Update the sum as A appears i number``        ``// of times in the current row``        ``sum = sum + (i * A);` `        ``// Update A for the next row``        ``A = A + B;``    ``}` `    ``// Return the sum``    ``return` `sum;``}` `// Driver code``public` `static` `void` `main (String[] args)``              ``throws` `java.lang.Exception``{``    ``int` `A = ``5``, B = ``3``, R = ``3``;``    ` `    ``System.out.print(sum(A, B, R));``}``}` `// This code is contributed by nidhiva`

## Python3

 `# Python3 implementation of the approach` `# Function to return the required sum``def` `Sum``(A, B, R):` `    ``# To store the sum``    ``ssum ``=` `0` `    ``# For every row``    ``for` `i ``in` `range``(``1``, R ``+` `1``):` `        ``# Update the sum as A appears i number``        ``# of times in the current row``        ``sum` `=` `sum` `+` `(i ``*` `A)` `        ``# Update A for the next row``        ``A ``=` `A ``+` `B` `    ``# Return the sum``    ``return` `sum` `# Driver code``A, B, R ``=` `5``, ``3``, ``3``print``(``Sum``(A, B, R))` `# This code is contributed by Mohit Kumar`

## C#

 `// C# implementation of the approach``using` `System;` `class` `GFG``{` `// Function to return the required sum``static` `int` `sum(``int` `A, ``int` `B, ``int` `R)``{` `    ``// To store the sum``    ``int` `sum = 0;` `    ``// For every row``    ``for` `(``int` `i = 1; i <= R; i++)``    ``{` `        ``// Update the sum as A appears i number``        ``// of times in the current row``        ``sum = sum + (i * A);` `        ``// Update A for the next row``        ``A = A + B;``    ``}` `    ``// Return the sum``    ``return` `sum;``}` `// Driver code``public` `static` `void` `Main ()``{``    ``int` `A = 5, B = 3, R = 3;``    ` `    ``Console.Write(sum(A, B, R));``}``}` `// This code is contributed by anuj_67..`

## Javascript

 ``

Output:

`54`

Time Complexity: O(R), since there runs a loop for once from 1 to R.

Auxiliary Space: O(1), since no extra space has been taken.

My Personal Notes arrow_drop_up