数根

自然数的性质

数根

数根(又称数字根或位数根,Digital root)是自然数的一种性质,每个自然数都有一个数根。数根是通过将一正整数的各个位数相加(即横向相加),若加完后的值大于10,则继续将各位数进行横向相加,直到其值小于10为止,所得到的数即为数根。将一正整数的各个位数相加(即横向相加)后,若加完后的值大于等于10的话,则继续将各位数进行横向相加直到其值小于十为止所得到的数,即为数根。换句话说,数根是将一数字重复做其数字之和,直到其值小于十为止,则所得的值为该数的数根。例如54817的数根为7,因为,25大于10则再加一次,,7小于十,则7为54817的数根。

数根(又称数字根或位数根,Digital root)是自然数的一种性质,每个自然数都有一个数根。数根是通过将一正整数的各个位数相加(即横向相加),若加完后的值大于10,则继续将各位数进行横向相加,直到其值小于10为止,所得到的数即为数根。

定义

将一正整数的各个位数相加(即横向相加)后,若加完后的值大于等于10的话,则继续将各位数进行横向相加直到其值小于十为止所得到的数,即为数根。换句话说,数根是将一数字重复做其数字之和,直到其值小于十为止,则所得的值为该数的数根。例如54817的数根为7,因为,25大于10则再加一次,,7小于十,则7为54817的数根。

性质

数根具有以下性质:

- 与原数加9的结果的数根相同,即一个数加9后它的数根不变。

- 数根可以计算模9之模运算的同余,对于非常大的数字的情况下可以节省很多时间。

- 数字根可作为一种检验计算正确性的方法。例如,两数字的和的数根等于两数字分别的数根的和。

- 数根也可以用来判断数字的整除性,如果数根能被3或9整除,则原来的数也能被3或9整除。

公式计算

数根的计算可以通过公式简化:一个数a的数根可以表示为mod(a,9),且当a是9的倍数时,数根为9。

编程计算

1234567891011121314151617181920212223242526272829303132#include  <stdio.h>int main(void){    //一般人思路:2345->2,3,4,5->14->1,4->5    char str[1001];    int i, sum;    while (1) {        gets(str);        if (str == '0')            break;        for (i = 0, sum = 0; str[i] != '\0'; i++)            sum += str[i] - '0';        printf("%d\n",(sum - 1) % 9 + 1);    }    return 0;} //优化算法,递归回炉重造unsigned int f(unsigned int n){    unsigned int ret = 0;    do    ret += n%10;    while(n /= 10);    if(ret < 10) return ret;    else return f(ret);}  //公式法直接求数根int test(int num){    return 1 + (num - 1) % 9;}

用途

数根不仅是一个数学上的性质,它还有实际的应用价值:

- 在进行模9的同余计算时,数根可以简化计算过程,特别是对于非常大的数字。

- 数根可以用作检验计算正确性的一种方法,通过比较和的数根与各加数的数根的和来验证。

- 在判断一个数是否能被3或9整除时,数根提供了一种快速的方法,因为如果一个数的数根能被3或9整除,那么这个数也能被3或9整除。

广告位:底部(ad-bottom)—— 请到中台「公共区块」编辑此内容