Problem Statement
21 22 23 24 25 26 20 7 8 9 10 ... 19 6 1 2 11 ... 18 5 4 3 12 ... 17 16 15 14 13 ...You task is to determine the position (row,column) of a given number N, assuming that the center (number 1) has position (0,0). Rows are numbered from top to bottom, columns are numbered from left to right (for example, number 3 is at (1,1)). Your method should return a string containing the position of N in form (R,C) where R is the row and C is the column. R and C must not contain any leading zeroes.
Definition
- Class:
- SpiralNumbers
- Method:
- getPosition
- Parameters:
- int
- Returns:
- String
- Method signature:
- String getPosition(int N)
- (be sure your method is public)
Constraints
- N will be between 1 and 2,147,483,647, inclusive.
Examples
2
Returns: "(0,1)"
3
Returns: "(1,1)"
7
Returns: "(-1,-1)"
17
Returns: "(2,-2)"
24
Returns: "(-2,1)"
830
Returns: "(-14,3)"
765409
Returns: "(-437,221)"
3577
Returns: "(30,-6)"
1241
Returns: "(-2,18)"
5393
Returns: "(27,37)"
9575
Returns: "(49,-19)"
6319
Returns: "(38,40)"
8738
Returns: "(42,47)"
9724
Returns: "(-49,-28)"
7803
Returns: "(-14,-44)"
1354389
Returns: "(582,-74)"
1197879
Returns: "(-495,-547)"
1051382
Returns: "(244,513)"
1694284
Returns: "(651,270)"
1765429
Returns: "(-664,-148)"
1746739269
Returns: "(20065,-20897)"
1581653398
Returns: "(19388,-19885)"
1504049281
Returns: "(13635,-19391)"
1335708714
Returns: "(7231,18274)"
1988569709
Returns: "(11763,22297)"
1089242603
Returns: "(16502,4912)"
1643347426
Returns: "(2288,-20269)"
1981814007
Returns: "(22259,16059)"
1880603329
Returns: "(21683,-15055)"
1882376233
Returns: "(-9543,-21693)"
2147483638
Returns: "(-23170,18527)"
2147483639
Returns: "(-23170,18528)"
2147483640
Returns: "(-23170,18529)"
2147483641
Returns: "(-23170,18530)"
2147483642
Returns: "(-23170,18531)"
2147483643
Returns: "(-23170,18532)"
2147483644
Returns: "(-23170,18533)"
2147483645
Returns: "(-23170,18534)"
2147483646
Returns: "(-23170,18535)"
2147483647
Returns: "(-23170,18536)"
1156340025
Returns: "(-17002,17002)"
1247573041
Returns: "(-17660,17660)"
647549809
Returns: "(-12723,12723)"
667033929
Returns: "(-12913,12913)"
968018769
Returns: "(-15556,15556)"
3886
Returns: "(-10,-31)"
5630
Returns: "(-33,38)"
7221
Returns: "(-42,38)"
15489
Returns: "(-50,-62)"
9983
Returns: "(50,-32)"
14712
Returns: "(10,61)"
18894
Returns: "(56,69)"
11455
Returns: "(-48,54)"
18431
Returns: "(68,-2)"
18830
Returns: "(-8,69)"
3421
Returns: "(-27,-29)"
12534
Returns: "(56,-45)"
19978
Returns: "(26,71)"
1406
Returns: "(18,19)"
12831
Returns: "(5,57)"
1403228077
Returns: "(18730,4794)"
1176144492
Returns: "(-17147,14614)"
742077057
Returns: "(-8645,13621)"
1487275698
Returns: "(-2810,19283)"
1982325633
Returns: "(5842,22262)"
1091291954
Returns: "(-16517,-2754)"
822976965
Returns: "(14344,10036)"
2000000001
Returns: "(9799,22361)"
1595633577
Returns: "(10579,19973)"
1924141339
Returns: "(-18819,21933)"
1723303803
Returns: "(-20756,-4610)"
1935569301
Returns: "(-12722,21998)"
1752361901
Returns: "(-2351,20931)"
1817007465
Returns: "(-10275,-21313)"
1927261228
Returns: "(-21950,-14623)"
2000000001
Returns: "(9799,22361)"
1713054241
Returns: "(-15775,20695)"
1424967331
Returns: "(-18874,-796)"
1137762248
Returns: "(-16865,-1248)"
937619661
Returns: "(-15310,-10670)"
1
Returns: "(0,0)"
3157729
Returns: "(-888,888)"
2147483646
Returns: "(-23170,18535)"
999999
Returns: "(500,-498)"
2147483647
Returns: "(-23170,18536)"
1
Returns: "(0,0)"
2147483000
Returns: "(-23170,17889)"
2000000000
Returns: "(9798,22361)"
3158128
Returns: "(-490,889)"
2
Returns: "(0,1)"
765409
Returns: "(-437,221)"
1000000000
Returns: "(-15811,1682)"
10000000
Returns: "(-174,-1581)"
2100000000
Returns: "(22913,-636)"
9
Returns: "(-1,1)"
2147483631
Returns: "(-23170,18520)"
2147483640
Returns: "(-23170,18529)"