2413. Smallest Even Multiple

Description

Given a positive integer n, return the smallest positive integer that is a multiple of both 2 and n.

 

Example 1:

Input: n = 5
Output: 10
Explanation: The smallest multiple of both 5 and 2 is 10.

Example 2:

Input: n = 6
Output: 6
Explanation: The smallest multiple of both 6 and 2 is 6. Note that a number is a multiple of itself.

 

Constraints:

  • 1 <= n <= 150

Solutions

Solution 1: Mathematics

If $n$ is even, then the least common multiple (LCM) of $2$ and $n$ is $n$ itself. Otherwise, the LCM of $2$ and $n$ is $n \times 2$.

The time complexity is $O(1)$.

Python Code
1
2
3
class Solution:
    def smallestEvenMultiple(self, n: int) -> int:
        return n if n % 2 == 0 else n * 2

Java Code
1
2
3
4
5
class Solution {
    public int smallestEvenMultiple(int n) {
        return n % 2 == 0 ? n : n * 2;
    }
}

C++ Code
1
2
3
4
5
6
class Solution {
public:
    int smallestEvenMultiple(int n) {
        return n % 2 == 0 ? n : n * 2;
    }
};

Go Code
1
2
3
4
5
6
func smallestEvenMultiple(n int) int {
	if n%2 == 0 {
		return n
	}
	return n * 2
}

TypeScript Code
1
2
3
function smallestEvenMultiple(n: number): number {
    return n % 2 === 0 ? n : n * 2;
}

Rust Code
1
2
3
4
5
6
7
8
impl Solution {
    pub fn smallest_even_multiple(n: i32) -> i32 {
        if n % 2 == 0 {
            return n;
        }
        n * 2
    }
}

C Code
1
2
3
int smallestEvenMultiple(int n) {
    return n % 2 == 0 ? n : n * 2;
}