# Got FATAL ERROR on a coding challenge

I need help to improve my solution. I got `FATAL ERROR` in a coding challenge in `codewars` site. That is mean my solution is not working with big inputs like:

``````overTheRoad(23633656673,310027696726);
``````

My code so far:

``````function overTheRoad(address, n) {
let odd = [];
let even = [];
for (let i = 2; i <= n * 2; i += 2) {
even.push(i);
}
for (let i = 1; i <= n * 2; i += 2) {
odd.push(i);
}
even = even.reverse();

return address % 2 === 0
}
``````

LINK TO THE CHALLENGE :

Codewars

### Training on Over The Road | Codewars

Codewars is where developers achieve code mastery through challenge. Train on kata in the dojo and reach your highest potential.

• Why do you expect it does not work?

Just a thought.

What is the general formula for the address across the street, in logical terms?

(Hint: The answer should probably begin with â€śIf the number is evenâ€¦â€ť)

I work hard and I find the solution:

``````function overTheRoad(address, n) {
return (2 * n - address) + 1;
}
``````
1 Like

To expand a little bit on where this came from.

There exists a general formula for the number components of any given row of a table with n rows constructed in such a way that the odd numbers ascend in the left column and the even numbers descend in the right.

Consider n=3.
n is our number of rows. So weâ€™re going to arrange the addresses of 6 houses.

Odd Even
1 6
3 4
5 2

Letâ€™s take a look at the rows. Specifically, the sum of the rows.
1+6 = 7
3+4 = 7
5+2 = 7
Interesting. All the rows add to the same value.

Letâ€™s try being general; `n` rows.

Odd Even
1 2n
3 2n-2
5 2n-4
â€¦ â€¦
2n-5 6
2n-3 4
2n-1 2

What happens if we sum these rows?
Well, 1+2n isâ€¦ 2n+1.
3+2n-2 is â€¦ 2n+1â€¦
5+2n-4 is â€¦ 2n+1â€¦
hmmâ€¦ what about the end ones thoughâ€¦
2n-5+6 is 2n+1,
2n-3+4 is 2n+1,
2n-1+2 is 2n+1â€¦
So every row adds to a value - 2n +1.

Letâ€™s take that as a formula then.
For any two addresses in this system that are across the street from each other, `a` and `b`, `a+b = 2n + 1`.
Note that it doesnt matter which of the two is even or odd; `a` and `b` are interchangable.
(Also, intuitively, we can say that the sum of a row must be odd, because one of the addresses is even, and the other is odd; odd+even = odd. Any odd number can be defined as 2m+1, where m is an integer.)

Then it becomes a simple algebra equation: Given `address` (`a`) and the number of rows `n`, what is `b`?
Solve for `b`.
`a + b = 2n + 1`
`b = 2n + 1 - a`
(Thereâ€™s no actual need for parenthesis, or the order of adding/subtracting: `(2n+1)-a` = `(2n-a)+1`.)

1 Like

This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.