各位相加-LintCode
来源:互联网 发布:阿里云配置tomcat教程 编辑:程序博客网 时间:2024/06/06 21:39
给出一个非负整数 num,反复的将所有位上的数字相加,直到得到一个一位的整数。
样例:
给出 num = 38。
相加的过程如下:3 + 8 = 11,1 + 1 = 2。因为 2 只剩下一个数字,所以返回 2。
挑战 :
你可以不用任何的循环或者递归算法,在 O(1) 的时间内解决这个问题么?
思路:
对于数字abcd,其值为a*1000+b*100+c*10+d,
即abcd=(a+b+c+d)+a*999+b*99+c*9,加粗部分模9为0,
对于a+b+c+d仍模9,指导最终的数字只有一位。
由于a%c%c=a%c,则结果等于num%9,当结果为0时,返回9;
#ifndef C569_H#define C569_H#include<iostream>using namespace std;class Solution {public: /* * @param num: a non-negative integer * @return: one digit */ int addDigits(int num) { // write your code here if (num <= 0) return 0; return num==0?9:num%9; }};#endif
阅读全文
0 0
- LintCode:569 各位相加
- LintCode-各位相加
- LintCode之各位相加
- Lintcode各位相加
- Lintcode各位相加
- 各位相加-LintCode
- LintCode python 小白-简单题-569各位相加
- 各位相加
- 各位相加
- 各位相加
- 各位相加
- 各位相加
- 【LintCode-569】各位相加(Java实现-循环/递归算法/O(1))
- Java实现-各位相加
- LintCode560:各位相加
- 数字各位相加的规律
- 山理工acm各位数相加
- oracle实现数值型列值各位相加之和
- HBase之BlockCache数据读取
- Spring(2)ioc操作
- ardoino人类智能机械未来的希望
- 移植mtd-utils-1.5.1到arm记录
- iOS:KVO的概述与使用(转)
- 各位相加-LintCode
- 昨天申请的免费TexturePacker注册码到了
- Mysql基本用法(转)
- mysql的表分区(转)
- 使用java访问MySQL数据库
- Emacs好像是一个功能很强大的代码编辑器
- eclipse下安装pydev插件无法显示设置的问题
- java:单例模式的七种写法(转)
- java数据库字段ResultSet解析(转)