题解 | #牛群的数量计算#
牛群的数量计算
https://www.nowcoder.com/practice/dfafaa65a55040b3a4b65418db68949d
题目考察的知识点:位运算
题目解答方法的文字分析:两数相乘,异或可以算出两数相加,但进位是算不到的,两数相与左移就可算出是否进位;然后相加n次,求和即可
本题解析所用的编程语言:c++
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param n int整型
* @param a int整型
* @return int整型
*/
int add(int a, int b)
{
while (b != 0)
{
int temp = a ^ b;
b = (a & b) << 1;
a = temp;
}
return a;
}
int multiply(int n, int a)
{
// write code here
int res = 0;
while (a != 0)
{
if ((a & 1) == 1)
res = add(res, n);
n <<= 1;
a >>= 1;
}
return res;
}
};
查看15道真题和解析
海康威视公司福利 1125人发布