This site requires JavaScript, please enable it in your browser!
Greenfoot back
RedCreeper
RedCreeper wrote ...

2013/10/26

odd or even number

RedCreeper RedCreeper

2013/10/26

#
I need a way to tell if a in variable is an odd or even number, and then if it is odd add one ,and if it is even minus one
bourne bourne

2013/10/26

#
Use something like this:
1
2
3
4
if (num % 2 == 0) // Even
{}
else // Odd
{}
danpost danpost

2013/10/26

#
1
var = var - 1 + 2 * var % 2;
RedCreeper RedCreeper

2013/10/26

#
Danpost how does that decide weather it is odd or even
bourne bourne

2013/10/26

#
var % 2 results as only 0 or 1 (0 for even, 1 for odd) He compacted your problem to a single statement
danpost danpost

2013/10/26

#
The '- 1' adjusts the value as if it was even either way. The 'var % 2' returns the remainder of 'var / 2'; so, it returns '1' if odd or '0' if even. Multiplying that by 2 and adding will make the adjustment in the case that it is odd (and adjust by zero, or no additional change, in the case it is even).
RedCreeper RedCreeper

2013/10/26

#
Would this work for a value of 35
danpost danpost

2013/10/26

#
RedCreeper wrote...
Would this work for a value of 35
Yes. Negative numbers may not work the way you want, however.
RedCreeper RedCreeper

2013/10/26

#
How do I make is that if it is odd in adds one from another variable, and if even subtract one from a different variable
danpost danpost

2013/10/26

#
1
2
varA += var % 2;
varB -= (var + 1) % 2;
RedCreeper RedCreeper

2013/10/26

#
thank you
You need to login to post a reply.