题目描述:
给你一个正整数 n ,返回 2 和 n 的最小公倍数(正整数)。
• 示例 1
输入:n = 5
输出:10
解释:5 和 2 的最小公倍数是 10 。
• 示例 2:
输入:n = 6
输出:6
解释:6 和 2 的最小公倍数是 6 。注意数字会是它自身的倍数。
解法(数学模拟):
每个偶数和2的最小公倍数是自身,每个奇数和2的最小公倍数是自身的二倍。
算法思路:
1. 对2取余,结果为0是偶数,结果为1是奇数;
2. 和1进行与运算,结果为0是偶数,结果为1是奇数。
算法代码:
int smallestEvenMultiple(int n){
//判断n是不是偶数
if(n%2 == 0)
return n;
//如果不是偶数,则⼀定是奇数
else
return 2*n;
}
int smallestEvenMultiple(int n){
//判断n是不是偶数
if(n&1 == 0)
return n;
//如果没有进⾏上⼀步操作,直接返回n为奇数时的结果2*n即可
return 2*n;
}