给你一个整数 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
class Solution { public int countDigits(int num) { String s = Integer.toString(num); int[] a = new int[10]; for(char ch : s.toCharArray()) { a[ch-'0']++; } int ans = 0; for(int i=1; i<=9; i++) { if(a[i] == 0) continue; if(num % i == 0) ans += a[i]; } return ans; } }
class Solution: def countDigits(self, num: int) -> int: s = str(num) a = [0] * 10 for ch in s: a[int(ch)] += 1 ans = 0 for i in range(1, 10): if a[i] == 0: continue if num % i == 0: ans += a[i] return ans