**C Programming Interview Question :**

A strange grid has been recovered from an old book. It has 5 columns and infinite number of rows. The bottom row is considered as the first row. First few rows of the grid are like this:

…………..

…………..

20 22 24 26 28

11 13 15 17 19

10 12 14 16 18

1 3 5 7 9

0 2 4 6 8

The grid grows upwards forever! Your task is to find the integer in i’th column in j’th row of the grid.

**Input Format :** There will be two integers r and c separated by a single space.

Constraints

1≤r≤2 * 109

1≤c≤5

Rows are indexed from bottom to top and columns are indexed from left to right.

**Output Format : **Output the answer in a single line.

Sample Input

6 3

Sample Output

25

**Explanation:** The number in the 6th row and 3rd column is 25.

**Solution using C Language :**

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
#include <stdio.h> #include <string.h> #include <math.h> #include <stdlib.h> int main() { unsigned long int r; int c; scanf("%lld %d",&r,&c); if ( (r>=1 && r<=2000000000) && (c>=1 && c<=5) ) { if (r%2 == 1) printf("%lld",((r-1)/2)*10 + (c-1)*2 ); else printf("%lld",((r-1)/2)*10 + (c-1)*2 + 1 ); } return 0; } |