**Tell us what’s happening:**

100 door test throw me that the result is not correct, can somebody tell me why?

My solution:

```
function getFinalOpenedDoors(numDoors) {
let result =[];
for(let i=1;i<=100;i++){
result.push(-i);
}
for(let j = 2; j<=100; j++){
for(let i = 1; i<=100; i++){
if(result[i]%j == 0) {
result[i]= -result[i];
}
}
}
return result.filter(i=>i>0);
}
const numDoors = 100;
getFinalOpenedDoors(numDoors);
```

```
**Your browser information:**
```

User Agent is: `Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36`

.

**Challenge:** 100 doors

**Link to the challenge:**

You’re failing because your answer is wrong

~~I’m not seeing where you are visiting every other, then every third, etc~~

Ah, the negative sign is backwards. A bool would be easier to use

I work out it! It must be result.push(i); instead of result.push(-i);

thank you so much for your help and adwise! )

1 Like

Right, what Jeremy said…

Also, I find this a bit odd:

```
for(let j = 2; j<=100; j++){
for(let i = 1; i<=100; i++){
if(result[i]%j == 0) {
```

First of all, it’s a bit odd to put the *j* loop on the outside, not wrong per se, just against convention so it threw me for a loop (so to speak).

But my real issue is this:

```
for(let i = 1; i<=100; i++){
```

These are your indices. But your array was created with this:

```
for(let i=1;i<=100;i++){
result.push(-i);
}
```

So, those array elements may have the *values* of 1-100, but those aren’t the indices of those values. I think you may be confusing the two.

1 Like

Ah ha! I knew something about the logic was bugging me, but I wasn’t sure what.

1 Like

The Spidey Sense was tingling?

1 Like

system
closed
#8
This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.