3099、哈沙德数

  1. 题目
    1. 示例 1:
    2. 示例 2:
    3. 计算各位数之和,判断是否可以整除

题目

如果一个整数能够被其各个数位上的数字之和整除,则称之为 哈沙德数(Harshad number)。给你一个整数 x 。如果 x 是 哈沙德数 ,则返回 x 各个数位上的数字之和,否则,返回 -1 。

示例 1:

输入: x = 18

输出: 9

解释:

x 各个数位上的数字之和为 9 。18 能被 9 整除。因此 18 是哈沙德数,答案是 9 。

示例 2:

输入: x = 23

输出: -1

解释:

x 各个数位上的数字之和为 5 。23 不能被 5 整除。因此 23 不是哈沙德数,答案是 -1 。

提示:

  • $1 <= x <= 100$

计算各位数之和,判断是否可以整除

class Solution {
    public int sumOfTheDigitsOfHarshadNumber(int x) {
        int res = 0;
        int t = x;
        while (t > 0) {
            res += t % 10;
            t = t / 10;
        }
        // x % res == 0 表示 x 是 res的整数倍。
        return x % res == 0 ? res : -1;
    }
}

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 1056615746@qq.com

文章标题:3099、哈沙德数

字数:227

本文作者:攀登

发布时间:2024-07-04, 11:16:50

最后更新:2024-07-04, 21:19:57

原始链接:http://jiafeimao-gjf.github.io/2024/07/04/3099%E3%80%81%E5%93%88%E6%B2%99%E5%BE%B7%E6%95%B0/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

×

喜欢就点赞,疼爱就打赏