关于数字根(LeetCode Add Digits)
来源:互联网 发布:时尚网络电玩怎么样 编辑:程序博客网 时间:2024/06/05 04:16
如果把一个大数的各位数字相加得到一个和,再把这个和的各位数字相加又得一个和,再继续作数字和,直到最后的数字和是个位数为止,这最后的数称为最初那个数的“数字根”.这个数字根等于原数除以9的余数,因此这个计算过程常常称为“合九法”.
1.任何数加9的数字根还是它本身。
小学学加法的时候我们都明白,一个数字加9,就是把十位加1,各位减1。因此十位加个位的和是不变的;如果有进位,即十位上是9,那么进位之后十位会变成0,百位会加1,道理和一个一位数加9是一样的。
2.9乘任何数字的数字根都是9。
同样是小学时学乘法时,我们在计算一位数乘九的时候,把十只手指头排开,乘几便弯下第几只手指头,前后的手指个数便是那个结果。它的数字根永远是10-1=9。多位数的化,拆分每一位数字即可。
3.数字根的三则运算
1.两数之和的数字根等于这两个数的数字根的和数字根
对于两个一位数来说,很容易理解。因为一位数的数字根就是它本身。
对于多位数来说,由性质1,把每个数字mod 9,就又变成了两个一位数。
2.两数之积的数字根等于这两个数的数字根的积的和数字根
可以把每个数字拆成许多9相加的形式,最后各剩余一个 (a mod 9), 由
(a1+a2+...)*(b1+b2+...)=a1*(b1+b2+...)+a2*(b1+b2+...)+...+an*bm
从a1到a[n-1]都是9,由性质2,原来两式的数字根就是(an*bm)的数字根。而由性质1,可知an,bm又是两数本身的数字根。
3.一个数字的n次幂的数字根等于这个数字的数字根的n次幂的和数字根
0 0
- 关于数字根(LeetCode Add Digits)
- Leetcode#258. Add Digits (数字根)
- LeetCode 258 Add Digits(数字相加,数字根)
- LeetCode oj 258. Add Digits(数字根)
- LeetCode 258 Add Digits 数字相加,数字根
- LeetCode(258) Add Digits
- [leetcode-258]Add Digits(C)
- 【LeetCode-258】Add Digits(C++)
- leetcode之旅(6)-Add Digits
- LeetCode 258. Add Digits(数位相加)
- leetcode(3),Add Digits详解(python)
- (LeetCode)Add Digits --- 整数各位相加
- LeetCode 258. Add Digits 题解(C++)
- LeetCode 258 Add Digits(技巧 || 递归)
- [leetcode][math] Add Digits
- [leetcode] Add Digits
- 【leetcode】Add Digits【java】
- Leetcode: Add Digits
- Java基础-Queue队列
- 提高C++程序运行效率的10个简单方法
- 网易云信吴桐:直播体验深度优化方案——连麦互动直播
- [Android]如何做一个崩溃率少于千分之三噶应用app(16)-Application组件化
- win10+caffe+CUDA8.0安装配置
- 关于数字根(LeetCode Add Digits)
- C# .NET更智能的数据库操作的封装完整版(重构)
- Java中 基本数据类型与封装类、字符串的相互转换 方法汇总
- LeetCode 506. Relative Ranks
- PAT A1123. Is It a Complete AVL Tree (30)
- 播放器:从RTP包提取TS
- 202. Happy Number
- #673 – 将鼠标位置和颜色进行映射(Mapping Mouse Position to Color)
- 16进制数值转换成16进制字符串,用于显示或对OllyDbg中的特征码进行整理