2520. Count the Digits That Divide a Number

题目 #

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}