题目:
给你一个整数 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
解答:
方法一:模拟
思路
根据题目要求,从低位到高位,依次判断除 nums的余数是否为 0。统计所有余数为 0 的次数后返回。
代码:
class Solution {
public int countDigits(int num) {
String s=Integer.toString(num);
int count=0;
for(int i=0;i<s.length();i++){
int val=s.charAt(i)-'0';
if(num%val==0){
count++;
}
}
return count;
}
}