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

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:

- The first row will contain a single element which is
**A**and the rest of the elements will be**0**. - The next row will contain
**two elements**all of which are**(A + B)**and the rest are**0s**. - Third row will contain
**(A + B + B)**three times and the rest are**0s**and so on. - 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 = 3Output:54

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

**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 <iostream>` `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

`<script>` `// JAVA SCRIPT implementation of the approach` `// Function to return the required sum` `function` `sum( A, B, R)` `{` ` ` `// To store the sum` ` ` `let sum = 0;` ` ` `// For every row` ` ` `for` `(let 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` ` ` `let A = 5, B = 3, R = 3;` ` ` ` ` `document.write(sum(A, B, R));` `//contributed by bobby` `</script>` |

**Output:**

54

**Time Complexity:** O(R)

**Auxiliary Space:** O(1)