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 = 3
Output: 54
5 + 8 + 8 + 11 + 11 + 11 = 54
Input: A = 7, B = 56, R = 1
Output: 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> |
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.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!