题解 | #牛群的数量计算#

牛群的数量计算

https://www.nowcoder.com/practice/dfafaa65a55040b3a4b65418db68949d

考察的知识点:位运算;

解答方法分析:

  1. 定义一个变量sum,用来保存所有牧场的牛的数量总和。
  2. 使用循环遍历每个牧场的牛的数量。
  3. 对于每个牧场的牛的数量,使用左移操作将其乘以2的幂。例如,对于第一个牧场的牛的数量a,将其左移0位相当于不变,即a * (2^0) = a;对于第二个牧场的牛的数量a,将其左移1位相当于乘以2,即a * (2^1) = 2a;以此类推。
  4. 将每个牧场的牛的数量累加到sum中。
  5. 循环结束后,sum即为所有牧场的牛的数量总和。

所用编程语言:C++;

完整编程代码:↓

class Solution {
  public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param n int整型
     * @param a int整型
     * @return int整型
     */
    int multiply(int n, int a) {
        int sum = 0;
        int power = 0;
        while (n > 0) {
            if (n & 1) {
                sum += a << power;
            }
            power++;
            n >>= 1;
        }
        return sum;
    }
};

全部评论

相关推荐

06-02 15:53
阳光学院 Java
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务