题目 #
Given an integer num, return the number of digits in num that divide num.
An integer val divides nums if nums % val == 0.
Example 1:
Input: num = 7
Output: 1
Explanation: 7 divides itself, hence the answer is 1.
Example 2:
Input: num = 121
Output: 2
Explanation: 121 is divisible by 1, but not 2. Since 1 occurs twice as a digit, we return 2.
Example 3:
Input: num = 1248
Output: 4
Explanation: 1248 is divisible by all of its digits, hence the answer is 4.
Constraints:
- $1 <= num <= 10^9$
- num does not contain 0 as one of its digits.
思路1 #
分析 #
- 按照题目要求正常解,转string比较方便遍历
代码 #
1func countDigits(num int) int {
2 result := 0
3 for _, v := range fmt.Sprint(num) {
4 if v != '0' && num%int(v-'0') == 0 {
5 result++
6 }
7 }
8 return result
9}