考察的知识点:位运算;

解答方法分析:

  1. 定义一个变量count,用来记录尾随零的个数,初始值为0。
  2. 使用循环逐渐翻倍草的数量,重复m次。每次翻倍后,判断当前数量是否能被10整除(即末尾是否有0),如果能整除,则将count加1,并将当前数量除以10。
  3. 循环结束后,count即为尾随零的个数。

所用编程语言:C++;

完整编程代码:↓

class Solution {
  public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param n int整型
     * @param m int整型
     * @return int整型
     */
    int trailingZeroes(int n, int m) {
        int count = 0;
        for (int i = 0; i <= m; i++) {
            if (n % 10 == 0) {
                count++;
                n /= 10;
            }
            n *= 2;
            if (n % 10 != 5 && n % 10 != 0)
                break;
        }
        return count;
    }
};