LeetCode 2520. 统计能整除数字的位数
给你一个整数 num ,返回 num 中能整除 num 的数位的数目。
如果满足 nums % val == 0 ,则认为整数 val 可以整除 nums 。
输入:num = 7
输出:1
解释:7 被自己整除,因此答案是 1 。
直接计算出每一位,然后看是否能整除即可:
class Solution {
public:
int countDigits(int num) {
int numBak = num;
int ret = 0;
while (num) {
int lastNum = num % 10;
num /= 10;
// C++对0取余是未定义行为
if (!lastNum) {
continue;
}
if (int(numBak / lastNum) * lastNum == numBak) {
++ret;
}
}
return ret;
}
};