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++ 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 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 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# 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.. |
<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.