Challenges

# Evens or Odds - you know this one

+7
−0

Get ready for a comparatively dry question - this is intended to be one of the "the"s of the code-golfing dictionary.

Create a program which inputs a base 10 non-negative whole number (without leading 0s) and outputs something if the number is odd or something else if the number is even.

You MUST input through STDIN unless your language doesn't have input facilities, in which case you may make a function for the purpose.

The odd and even outputs can be whatever you want, so long as the output for a specific parity will stay the same no matter what number of that parity is inputted.

One of the outputs can be absolutely nothing (0 characters) so long as the other output isn't nothing - one or both of the outputs can be printed through STDERR as long as the erroring output is constant for its parity (doesn't change depending on what numbers of a parity you feed it).

Shortest code following the rules wins.

Why does this post require moderator attention?
Why should this post be closed?

Clarify input and output methods (2 comments)

+6
−0

## Regex, 8 bytes

[02468]$Matches strings ending in one of 0, 2, 4, 6, 8. [13579]$ is equivalent but with opposite outputs.

Try it on Regex101!

Why does this post require moderator attention?

Link to try regex (1 comment)
+5
−0

# Python 3, 10 bytes

1 .__and__

Try it online!

Returns 1 for odd numbers and 0 for even numbers.

Two bytes shorter than the trivial lambda x:x%2 and one byte shorter than the equivalent magic function 2 .__rmod__.

Why does this post require moderator attention?

Useless comment (1 comment)
+4
−0

# JavaScript (Node.js), 6 bytes

n=>n%2

Try it online!

Basically does what you'd expect.

Why does this post require moderator attention?

You don't need to count the f=. (1 comment)
+4
−0

# Scala -language:postfixOps, 2 bytes

1&

Try it online!

1 for odd, 0 for even.

# Scala, 3 bytes

_%2

Try it online!

1 for odd, 0 for even.

Why does this post require moderator attention?

+4
−0

# Jelly, 1 byte

Try it online!

Builtin. Returns 0 for even and 1 for odd

Why does this post require moderator attention?

+4
−0

# Japt, 1 byte

u

Japt, more like JABT (just another builtin) :P

Try it

Why does this post require moderator attention?

Or, alternatively, v. (1 comment)
+2
−0

## Mathematica, 4 bytes

OddQ

Not at all my code - this is the original post by Martin Ender. Prints True for odd inputs and False for even inputs.

Why does this post require moderator attention?

+1
−0

# Ruby, 8 bytes

->n{n%2}

Generic mod-in-a-lambda solution. Alternately, for 2.7+:

->{_1%2}

Try it online!

Why does this post require moderator attention?

+1
−0

# MAWP, 8 bytes

@!2P2WA:

Try it!

1 for odd and zero for even.

mawp doesn't have modulus, so it floor divides by 2, multiplies by 2 and subtracts from the input.

Why does this post require moderator attention?

+1
−0

# C (gcc), 20 bytes

f(a){puts("!"+a%2);}

Try it online!

Function solution. Prints ! in case of even numbers, otherwise just new line.

Why does this post require moderator attention?

+1
−0

# Rockstar, 44 bytes

Outputs 1 for odd or 0 for even.

listen to N
let M be N/2
turn up M
say M*2-N

Try it here (Code will need to be pasted in)

Why does this post require moderator attention?

+0
−0

# ESCR, 17 bytes

show [and [in] 1]

ESCR has no way to read from standard input (currently), so I assumed the existence of the function IN which magically returns the user input. Since the user input was specified to be an integer, the built-in AND function will do a bit-wise logical AND with the input number and 1. The result is 0 for even numbers and 1 for odd. The SHOW command writes the result of the AND function to standard output.

The AND function will bomb the program with an error if the user does not enter an integer.

Why does this post require moderator attention?

+0
−0

# Myby, 2 bytes

%2

Input is taken from the command line implicitly. 0 for even, 1 for odd. Since Myby is still in its early stages, there is no online sandbox. Some test cases can be seen here.

Why does this post require moderator attention?

+0
−0

# Python 3, 51 25 bytes

n=int(input());print(n%2)

Try it online!

Golfed 26 bytes using the technique from my PHP answer.

Why does this post require moderator attention?

+0
−0

# PHP, 36 bytes

<?php $x=(int)fgets(STDIN);echo$x%2;

Try it online!

Outputs 1 if odd and 0 if even.

Why does this post require moderator attention?

+0
−0

# Ruby, 13 bytes

According to the rules, programs should read from STDIN and output to the STDOUT. This is my solution:

p gets.to_i&1

Try this online!

Why does this post require moderator attention?

Featured
Hot Posts
Challenges — "Hello, World!"
Challenges — Cumulative Counts
Challenges — Looping counter

This community is part of the Codidact network. We have other communities too — take a look!