# Find the element at R’th row and C’th column in given a 2D pattern

Given two integers **R** and **C**, the task is to find the element at the R^{th} row and C^{th} column.**Pattern:**

- First Element of i
^{th}row =- Every element is a Arithmetic progression increasing difference where common difference is 1.
- Initial Difference Term =

**Examples:**

Attention reader! Don’t stop learning now. Get hold of all the important mathematical concepts for competitive programming with the **Essential Maths for CP Course** at a student-friendly price. To complete your preparation from learning a language to DS Algo and many more, please refer **Complete Interview Preparation Course****.**

Input:R = 4, C = 4Output:25Explanation:

Pattern of size 4 * 4 is –

1 3 6 10

2 5 9 14

4 8 13 19

7 12 18 25

Therefore, Element at Pat[4][4] = 25Input:R = 3, C = 3Output:13Explanation:

Pattern of size 3 * 3 is –

1 3 6

2 5 9

4 8 13

Therefore, element at Pat[3][3] = 13

**Naive Approach:** A simple solution is to generate the pattern matrix of size R * C and then finally return the element at the R^{th} row and C^{th} column.**Time Complexity:** O(R*C) **Auxiliary Space:** O(R*C)**Efficient Approach:** The idea is to find the first term of the R^{th} row using the formulae and then finally compute the C^{th} term of that column using the help of loop.

Below is the implementation of the above approach:

## C++

`// C++ implementation to compute the` `// R'th row and C'th column of the` `// given pattern` `#include <bits/stdc++.h>` `using` `namespace` `std;` `// Function to compute the` `// R'th row and C'th column of the` `// given pattern` `int` `findValue(` `int` `R, ` `int` `C)` `{` ` ` `// First element of a given row` ` ` `int` `k = (R * (R - 1)) / 2 + 1;` ` ` `int` `diff = R + 1;` ` ` `// Element in the given column` ` ` `for` `(` `int` `i = 1; i < C; i++) {` ` ` `k = (k + diff);` ` ` `diff++;` ` ` `}` ` ` `return` `k;` `}` `// Driver Code` `int` `main()` `{` ` ` `int` `R = 4;` ` ` `int` `C = 4;` ` ` `// Function call` ` ` `int` `k = findValue(R, C);` ` ` `cout << k;` ` ` `return` `0;` `}` |

## Java

`// Java implementation to compute the` `// R'th row and C'th column of the` `// given pattern` `import` `java.io.*;` `class` `GFG{` ` ` `// Function to compute the R'th` `// row and C'th column of the` `// given pattern` `static` `int` `findValue(` `int` `R, ` `int` `C)` `{` ` ` `// First element of a given row` ` ` `int` `k = (R * (R - ` `1` `)) / ` `2` `+ ` `1` `;` ` ` `int` `diff = R + ` `1` `;` ` ` `// Element in the given column` ` ` `for` `(` `int` `i = ` `1` `; i < C; i++)` ` ` `{` ` ` `k = (k + diff);` ` ` `diff++;` ` ` `}` ` ` `return` `k;` `}` `// Driver code` `public` `static` `void` `main (String[] args)` `{` ` ` `int` `R = ` `4` `;` ` ` `int` `C = ` `4` `;` ` ` `// Function call` ` ` `int` `k = findValue(R, C);` ` ` `System.out.println(k);` `}` `}` `// This code is contributed by mohit kumar 29` |

## Python3

`# Python3 implementation to find the` `# R'th row and C'th column value in` `# the given pattern` `# Function to find the` `# R'th row and C'th column value in` `# the given pattern` `def` `findValue(R, C):` ` ` `# First element of a given row` ` ` `k ` `=` `(R` `*` `(R` `-` `1` `))` `/` `/` `2` `+` `1` ` ` `diff ` `=` `R ` `+` `1` ` ` `# Element in the given column` ` ` `for` `i ` `in` `range` `(` `1` `, C):` ` ` `k ` `=` `(k ` `+` `diff)` ` ` `diff` `+` `=` `1` ` ` `return` `k` `# Driver Code` `if` `__name__ ` `=` `=` `"__main__"` `:` ` ` `R ` `=` `4` ` ` `C ` `=` `4` ` ` ` ` `k ` `=` `findValue(R, C)` ` ` `print` `(k)` |

## C#

`// C# implementation to compute the` `// R'th row and C'th column of the` `// given pattern` `using` `System;` `class` `GFG{` ` ` `// Function to compute the R'th` `// row and C'th column of the` `// given pattern` `static` `int` `findValue(` `int` `R, ` `int` `C)` `{` ` ` `// First element of a given row` ` ` `int` `k = (R * (R - 1)) / 2 + 1;` ` ` `int` `diff = R + 1;` ` ` `// Element in the given column` ` ` `for` `(` `int` `i = 1; i < C; i++)` ` ` `{` ` ` `k = (k + diff);` ` ` `diff++;` ` ` `}` ` ` `return` `k;` `}` `// Driver code` `public` `static` `void` `Main()` `{` ` ` `int` `R = 4;` ` ` `int` `C = 4;` ` ` `// Function call` ` ` `int` `k = findValue(R, C);` ` ` `Console.Write(k);` `}` `}` `// This code is contributed by Code_Mech` |

## Javascript

`<script>` `// Javascript implementation to compute the` `// R'th row and C'th column of the` `// given pattern` `// Function to compute the R'th` `// row and C'th column of the` `// given pattern` `function` `findValue(R, C)` `{` ` ` ` ` `// First element of a given row` ` ` `let k = (R * (R - 1)) / 2 + 1;` ` ` ` ` `let diff = R + 1;` ` ` ` ` `// Element in the given column` ` ` `for` `(let i = 1; i < C; i++)` ` ` `{` ` ` `k = (k + diff);` ` ` `diff++;` ` ` `}` ` ` `return` `k;` `}` ` ` `// Driver Code` ` ` ` ` `let R = 4;` ` ` `let C = 4;` ` ` ` ` `// Function call` ` ` `let k = findValue(R, C);` ` ` ` ` `document.write(k);` ` ` `</script>` |

**Output:**

25