力扣题目链接:https://leetcode.cn/problems/count-the-digits-that-divide-a-number/
给你一个整数 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 <= 109
num
的数位中不含 0
我们不断取出 n u m num num在十进制下的最低位,并判断这个最低位能否被 n u m num num整除。直到取完每一位为止。
class Solution {
public:
int countDigits(int num) {
int n = num;
int ans = 0;
while (n) {
ans += (num % (n % 10)) == 0;
n /= 10;
}
return ans;
}
};
class Solution:
def countDigits(self, num: int) -> int:
n = num
ans = 0
while n:
ans += (num % (n % 10)) == 0
n //= 10
return ans
同步发文于CSDN,原创不易,转载经作者同意后请附上原文链接哦~
Tisfy:https://letmefly.blog.csdn.net/article/details/134050300