Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

Math formula that is supposed to return whole numbers returns decimals (SOLVED)

for (i = 0; i < 100; i++) {
    result.innerHTML += 'when "i" is ' + i + ", the result is ";
    result.innerHTML += (i + seed) * (i + seed + 1) / 2 - seed + 1 + ";<br>";
}

when seed = 1; this equation should produce whole number outputs with the first being 1, but when the code is run the first result is 5.5 and continues to mess up from there. I have checked the equation many times and worked through the problem in Desmos but cannot figure out the answer.

I have debugged the inputs multiple times, but they are the correct whole number inputs. The first result, where i = 0 and seed = 1 should output 1, but instead outputs 5.5.

The result should be (0 + 1) * (0 + 1 + 1) / 2 - 1 + 1, which simplifies to 1 * 2 / 2, which equals 1, but somehow the computer doesn’t calculate it this way. I used PEMDAS rules to attempt to get the correct result.

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

EDIT: The fix was parseInt();. When the calculation was being done, it concatenated two ones instead of adding them, and when it was divided by 2, it gave 5.5. It was because I got the seed value from an HTML input element.

>Solution :

Use parseInt, Math.ceil or Math.floor.

The division will always result in decimal value (for values that are not fully disvisible like 3/2, 4/3 etc).

parseIntwould solve your problem.

result.innerHTML += parseInt((i + seed) * (i + seed + 1) / 2 - seed + 1) + "; ";
Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading