【leetcode】Add Digits【java】
来源:互联网 发布:java 除夕节判断 编辑:程序博客网 时间:2024/05/02 05:00
题目:
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.
将数的各个位相加直至和为个位数思路:
此题为要求无递归和循环是数学问题,最后得到的一位数一定是(num-1)%9+1,(减一再加一是为了避免num=9)
假设一个多位数的最高位数的数字为X,其他位数的数字都为0,那么它余数一定是X (X不为9)
例如10除以9余1 200除以9余2
而本身就是个位数的数字只要不是9都不能整除9只能直接余
以此类推,你把多位数的数字用加法拆开然后分别除以9,得到的余数相加再除以9
以此重复就是最后的结果了
比如12345=10000+2000+300+40+5
(10000+2000+300+40+5) 除以9 余数分别是 1 2 3 4 5
1+2+3+4+5=15
再以此类推 得出 1+5=6
说穿了就是因为是10进制,单个数字值最大的数和进位的数字形成互补,要是用16进制要比10进制多出A-F这个几个数,除以9就不是这样的了.
代码:
0 0
- 【leetcode】Add Digits【java】
- (java) leetcode Add Digits
- leetcode:Add Digits 【Java】
- leetcode 258 Add Digits(java)
- Leetcode:258. Add Digits(JAVA)
- LeetCode 258 Add Digits java
- LeetCode 258 -Add Digits ( JAVA )
- [LeetCode-258]Add Digits(java)
- leetcode Add Digits java语言实现
- LeetCode ---- Add Digits (Java/Lua 实现)
- [leetcode][math] Add Digits
- [leetcode] Add Digits
- Leetcode: Add Digits
- LeetCode Add Digits
- [LeetCode] Add Digits
- leetcode 258: Add Digits
- LeetCode题解:Add Digits
- leetcode: Add Digits
- glibc源码
- Codeforces Round #316 D. Tree Requests 树剥分
- LeetCode(227)Basic Calculator II
- tomcat环境搭建问题汇总
- 剑指offer:合并两个排序的链表
- 【leetcode】Add Digits【java】
- 安装J2EE的SDK报错:could not find the required version of the Java(TM)2 Runtime Environment in '(null)'的解决
- 黑马程序员——Java基础--集合框架(2)
- 微信协议简单调研笔记
- 从docker-hub和docker-registry看优秀的后端服务设计实现
- java基础-面向对象概述
- 在Ubuntu上配置django环境系统架构命令
- hdu 1131 Count the Trees (卡特兰数的应用)
- SpringMVC+MyBatis整合(3)特别篇SpringMVC配置