Home
Go
Odd and Even Numbers
Updated Jun 22, 2023
Dot Net Perls
Odd, even numbers. Some numbers are odd. Others are even. We can use modulo division to tell whether a number is divisible by two. This tells us the parity of a number.
An odd issue. To tell if a number is even, we see if it is evenly divisible by 2. But to tell if it is odd, we must allow a remainder of either 1 or -1. A negative number may be odd.
Example program. This program introduces the Even and Odd funcs. We test Even() and Odd() in the main method. Both methods return a bool.
Start We use modulo division to see if a number is evenly divisible by 2. If there is no remainder, we have an even number.
Next We implement Odd() in terms of Even. Every integer that is not Even is Odd.
Result The program iterates through the numbers -4 through 4 inclusive and displays whether each one is even or not.
package main import "fmt" func Even(number int) bool { return number%2 == 0 } func Odd(number int) bool { // Odd should return not even. // ... We cannot check for 1 remainder. // ... That fails for negative numbers. return !Even(number) } func main() { for i := -4; i <= 4; i++ { // Test the even func. fmt.Printf("Number: %v, Even: %v", i, Even(i)) fmt.Println() } // Test the odd method. if Odd(1) { fmt.Println("ok") } }
Number: -4, Even: true Number: -3, Even: false Number: -2, Even: true Number: -1, Even: false Number: 0, Even: true Number: 1, Even: false Number: 2, Even: true Number: 3, Even: false Number: 4, Even: true ok
Simple methods. In the math package, I found no methods that reveal the parity of numbers. So a simple method that tells us this can be useful in quick Go programs.
In general, using built-in methods from the "math" package is the best choice. So it is worthwhile to check that no existing math methods are available.
Dot Net Perls is a collection of pages with code examples, which are updated to stay current. Programming is an art, and it can be learned from examples.
Donate to this site to help offset the costs of running the server. Sites like this will cease to exist if there is no financial support for them.
Sam Allen is passionate about computer languages, and he maintains 100% of the material available on this website. He hopes it makes the world a nicer place.
This page was last updated on Jun 22, 2023 (edit).
Home
Changes
© 2007-2025 Sam Allen