Skip to content
目录

2520. 统计能整除数字的位数

难度:简单

地址:https://leetcode.cn/problems/count-the-digits-that-divide-a-number/description/

给你一个整数 num ,返回 num 中能整除 num 的数位的数目。

如果满足 nums % val == 0 ,则认为整数 val 可以整除 nums

示例 1:

:num = 7

:1

:7 被自己整除,因此答案是 1 。

示例 2:

:num = 121

:2

:121 可以被 1 整除,但无法被 2 整除。由于 1 出现两次,所以返回 2 。

示例 3:

:num = 1248

:4

:1248 可以被它每一位上的数字整除,因此答案是 4 。

提示:

  • 1 <= num <= 10^9
  • num 的数位中不含 0

题解:

js
/**
 * @param {number} num
 * @return {number}
 */
var countDigits = function (num) {
    const str = num.toString();
    let ans = 0;
    for (let i = 0; i < str.length; i++) {
        if (num % str[i] == 0) {
            ans += 1;
        }
    }
    return ans;
};

或者

js
/**
 * @param {number} num
 * @return {number}
 */
var countDigits = function (num) {
    let t = num;
    let ans = 0;
    while (t) {
        if (num % (t % 10) == 0) {
            ans += 1;
        }
        t = Math.floor(t / 10);
    }
    return ans;
};