Add Digits
2015-11-29 14:56
148 查看
循环求解方式不再赘述。
O(1)时间的方法:
公式:(num-1)%9 + 1;
假设num为一个五位数,num = (a + b + c + d + e) + (a * 9999 + b * 999 + c * 99 + d * 9),将num对9取余后,结果为a + b + c + d + e。
反复执行对9取余的操作,最终得到1-9之间的结果,
考虑0和9的情况,因此是(num-1)%9 +1。
O(1)时间的方法:
公式:(num-1)%9 + 1;
假设num为一个五位数,num = (a + b + c + d + e) + (a * 9999 + b * 999 + c * 99 + d * 9),将num对9取余后,结果为a + b + c + d + e。
反复执行对9取余的操作,最终得到1-9之间的结果,
考虑0和9的情况,因此是(num-1)%9 +1。
相关文章推荐
- 对软件工程的一点看法
- Go 语言条件语句和循环语句
- Android开发:网络编程
- 高性能IO模型浅析
- 关于Canvas.drawText中xy位置问题
- Eclipse使用ButterKnife前,需要的配置步骤
- 传统线程互斥技术Synchronized 02
- Cocos2D iOS之旅:如何写一个敲地鼠游戏(二):Cocos2D中的高清支持
- Eclipse背景颜色设置
- Cocos2D iOS之旅:如何写一个敲地鼠游戏(二):Cocos2D中的高清支持
- Cocos2D iOS之旅:如何写一个敲地鼠游戏(二):Cocos2D中的高清支持
- virtualbox安装centos出错
- c++11中decltype的妙用
- Android:数据存储和界面展示
- 使用Timer类的动画
- win32控制台
- 【技术】电脑管家的ARP防火墙提示安装驱动装不上问题
- 在iOS中使用ZXing库
- 中小型网站架构分析及优化
- Flask-restful API演示