Ticket Range and Parity — Rule 200
Go Programming Basics · Go
TASK
Problem
An integer ticket number `n` is entered. Print `YES` if `n` is from 1000 through 9999 and its last digit is odd; otherwise print `NO`. In addition, `n` must not be divisible by 200.
EXAMPLE
Example
1235
YES
LIMITS
Constraints
- Input values fit the Go types used in the reference solution. - Print only the value(s) requested by the statement.
LEARN
Theory for this problem
+
`if` selects a branch from a boolean condition. Combine predicates with `&&`, `||`, and `!` only when their precedence matches the intended logic.
`fmt.Scan`/`fmt.Fscan` parses whitespace-separated input into typed variables. The variable type controls how later arithmetic and comparisons behave.
Apply these rules directly to the task requirement: an integer ticket number `n` is entered. Print `YES` if `n` is from 1000 through 9999 and its last digit is odd; otherwise print `NO`. In addition, `n` must not be divisible by 200.
NEED HELP?
Hints
+
['Write the boolean condition directly, then verify boundary values just below, at, and just above each threshold.', 'Read values in exactly the order stated by the condition.', 'Use the sample input `1235` to verify parsing and confirm that the program prints exactly `YES` with no extra text.']
ANSWER
Solution
+
package main
import "fmt"
func main() {
var n int
fmt.Scan(&n)
if (n >= 1000 && n <= 9999 && n%2 != 0) && n%200 != 0 {
fmt.Println("YES")
} else {
fmt.Println("NO")
}
}