【从零开始的LeetCode-算法】3099. 哈沙德数

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

示例 1:

输入: x = 18

输出: 9

解释:

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

示例 2:

输入: x = 23

输出: -1

解释:

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

提示:

  • 1 <= x <= 100

我的解答:

java 复制代码
class Solution {
    public int sumOfTheDigitsOfHarshadNumber(int x) {
        // 已经明确范围x的范围为[1,100]。直接差分个、十、百位计算
        return x % ( x % 10 +  (x % 100 - x % 10) / 10 + x / 100) == 0 
        ? ( x % 10 +  (x % 100 - x % 10) / 10 + x / 100) 
        : -1;
    }
}
相关推荐
Yingye Zhu(HPXXZYY)4 小时前
Solution to Luogu P6340
算法
酷柚易汛4 小时前
酷柚易汛ERP 2025-12-26系统升级日志
java·前端·数据库·php
侠客行03175 小时前
Mybatis入门到精通 一
java·mybatis·源码阅读
小熳芋5 小时前
单词搜索- python-dfs&剪枝
算法·深度优先·剪枝
消失的旧时光-19435 小时前
微服务的本质,其实是操作系统设计思想
java·大数据·微服务
Coder_Boy_5 小时前
基于SpringAI的智能平台基座开发-(四)
java·人工智能·spring boot·langchain·springai
Xの哲學5 小时前
Linux SLAB分配器深度解剖
linux·服务器·网络·算法·边缘计算
bu_shuo5 小时前
MATLAB中的转置操作及其必要性
开发语言·算法·matlab
高洁015 小时前
图神经网络初探(2)
人工智能·深度学习·算法·机器学习·transformer
爱装代码的小瓶子5 小时前
算法【c++】二叉树搜索树转换成排序双向链表
c++·算法·链表