给你一个整数 num
,返回 num
中能整除 num
的数位的数目。
如果满足 nums % val == 0
,则认为整数 val
可以整除 nums
。
输入: num = 7 输出: 1 解释: 7 被自己整除,因此答案是 1 。
输入: num = 121 输出: 2 解释: 121 可以被 1 整除,但无法被 2 整除。由于 1 出现两次,所以返回 2 。
输入: num = 1248 输出: 4 解释: 1248 可以被它每一位上的数字整除,因此答案是 4 。
1 <= num <= 109
num
的数位中不含0
impl Solution {
pub fn count_digits(num: i32) -> i32 {
let mut x = num;
let mut ret = 0;
while x > 0 {
if num % (x % 10) == 0 {
ret += 1;
}
x /= 10;
}
ret
}
}