leetcode--add digits
2015-08-26 16:36
190 查看
如果要用O(1)的时间完成,需要数根原理的知识。
树根的结果只有0到9。有计算式如下:
r(a)=1+(a-1)%9
对一某个自然数n有:
n为0时,r(n)=0
当n>0且 n%9==0 时,r(n)=9 。
因为9的倍数其实就是不断加9,个位减1,十位加1,结果是不变的。同样,一个数加个9的任意倍数,树根也是不变的
进一步,将n%9, 除了n是9的倍数的情况外(结果为0),其他的数根计算结果都是正确的。
为了将这种情况包含进去,用n-1来进行计算,然后结果再加上1就可以了。
树根的结果只有0到9。有计算式如下:
r(a)=1+(a-1)%9
对一某个自然数n有:
n为0时,r(n)=0
当n>0且 n%9==0 时,r(n)=9 。
因为9的倍数其实就是不断加9,个位减1,十位加1,结果是不变的。同样,一个数加个9的任意倍数,树根也是不变的
进一步,将n%9, 除了n是9的倍数的情况外(结果为0),其他的数根计算结果都是正确的。
为了将这种情况包含进去,用n-1来进行计算,然后结果再加上1就可以了。
相关文章推荐
- hdu 2161 Primes 素数打表
- POJ 2141 && HDU 2716 Message Decowding(水~)
- Stopwatch 监测一段时间内一个任务是否完成
- Spark问题笔记2
- Hadoop集群与RAID磁盘阵列
- [Leetcode] 不是从零开始的计数问题
- MyEclipse快捷键
- ListView 使用arrayadapter初始化数据
- ssh上传数据库+指定路径
- 如何在显示一个activity的时候同时弹出软键盘
- sql注入原理详解(一)
- 整数划分问题(递归法)
- Uvaoj 11375 - Matches
- UVA 1349 Optimal Bus Route Design (二分图最小权完美匹配)
- PowerShell管理Hyper-V(Windows2008R2)
- 微信调试
- 启动php-fpm报错:please specify user and group other than root
- linux升级python2.7,安装pip,setuptools,zlib
- Openstack Vlan配置部署
- 通过代码实现---Switch Ribbon Category