[leetcode 数位计算]2520. 统计能整除数字的位数

给你一个整数 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


java 复制代码
class Solution {
    public int countDigits(int num) {
        String s = Integer.toString(num);
        int[] a = new int[10];
        for(char ch : s.toCharArray()) {
            a[ch-'0']++;
        }
        int ans = 0;
        for(int i=1; i<=9; i++) {
            if(a[i] == 0) continue;
            if(num % i == 0) ans += a[i];
        }
        return ans;
    }
}
python 复制代码
class Solution:
    def countDigits(self, num: int) -> int:
        s = str(num)
        a = [0] * 10
        for ch in s:
            a[int(ch)] += 1
        ans = 0
        for i in range(1, 10):
            if a[i] == 0:
                continue
            if num % i == 0:
                ans += a[i]
        return ans
相关推荐
椰萝Yerosius24 分钟前
[题解]2024CCPC郑州站——Z-order Curve
c++·算法
小曹要微笑27 分钟前
STM32F7 时钟树简讲(快速入门)
c语言·stm32·单片机·嵌入式硬件·算法
南山安36 分钟前
栈(Stack):从“弹夹”到算法面试题的进阶之路
javascript·算法·面试
2301_764441332 小时前
Python构建输入法应用
开发语言·python·算法
AI科技星2 小时前
为什么变化的电磁场才产生引力场?—— 统一场论揭示的时空动力学本质
数据结构·人工智能·经验分享·算法·计算机视觉
TheLegendMe3 小时前
贪心+线程安全单例
算法·哈希算法
豐儀麟阁贵3 小时前
8.5在方法中抛出异常
java·开发语言·前端·算法
胖咕噜的稞达鸭3 小时前
算法入门:滑动窗口--->找到字符串中所有的字母异位词,串联所有的子串,最小覆盖子串
数据库·redis·算法
小青龙emmm3 小时前
2025级C语言第二次周测(国教专用)题解
c语言·开发语言·算法
一起养小猫4 小时前
《Java数据结构与算法》第三篇(下)队列全解析:从基础概念到高级应用
java·开发语言·数据结构