1、题目
2520. 统计能整除数字的位数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 <=
num 的数位中不含 0
2、解答
思路:
取出num值的每个数位上的数字,用num依次去除这些数字,如果能整除,那就将count+1,最后返回count就可以。
代码:
class Solution {public int countDigits(int num) {//用n来求取num的每个位数的数字int n = num;int count = 0;while(n!=0) {//取出n的个位数int a = n % 10;//如果num能被a整除,那就把count+1if (num % a == 0) {count ++;}//n去掉个位数n = n / 10;}return count;}
}