258. Add Digits
来源:互联网 发布:黑巧克力 减肥 数据 编辑:程序博客网 时间:2024/05/19 07:43
原题
Given a non-negative integer num, repeatedly add all its digits until the result has only one digit.
For example:
Given num = 38, the process is like: 3 + 8 = 11, 1 + 1 = 2. Since 2 has only one digit, return it.
Follow up:
Could you do it without any loop/recursion in O(1) runtime?
代码实现
public int AddDigits(int num) { return num - 9*Convert.ToInt32((num-1)/9); }
扩展
https://en.wikipedia.org/wiki/Digital_root#Congruence_formula
https://en.wikipedia.org/wiki/Vedic_square
It helps to see the digital root of a positive integer as the position it holds with respect to the largest multiple of 9 less than the number itself. For example, the digital root of 11 is 2, which means that 11 is the second number after 9. Likewise, the digital root of 2035 is 1, which means that 2035 − 1 is a multiple of 9. If a number produces a digital root of exactly 9, then the number is a multiple of 9. With this in mind the digital root of a positive integer {\displaystyle n} n may be defined by using floor function
leetcode-solution库
leetcode算法题目解决方案每天更新在github库中,欢迎感兴趣的朋友加入进来,也欢迎star,或pull request。https://github.com/jackzhenguo/leetcode-csharp
- 258.Add Digits
- 【LeetCode】258.Add Digits
- 258. Add Digits
- LeetCode 258. Add Digits
- 258. Add Digits
- LeetCode : 258. Add Digits
- 258. Add Digits
- 258. Add Digits
- 258. Add Digits
- 258. Add Digits
- 258. Add Digits
- leetCode 258. Add Digits
- LeetCode 258. Add Digits
- 258. Add Digits LeetCode
- 258. Add Digits
- 258. Add Digits
- LeetCode 258. Add Digits
- 258. Add Digits
- javamail java邮件发送教程
- C++学习(19)
- 项目中 加密解密某些字段的问题汇总
- javascript —— tow
- 使用 JavaScript 对中文进行排序
- 258. Add Digits
- Codeforces 808F Card Game【思维建图+最小割】
- Head First 策略模式
- 解析提高PHP执行效率的50个技巧
- QT QML初体验随笔之QQuickView(6)
- JavaScript 基础篇(一)
- LabVIEW通过ADO连接SQL Server 方法二
- Spring_day03
- ubuntu下载安装postman