數根

數根(又稱數字根,數字的根Digital root)是自然數的一種性質,換句話說,每個自然數都有一個數根

定義,性質,公式法求數根:,C程式求一個數的數根,

定義

將一正整數的各個位數相加(即橫向相加)後,若加完後的值大於等於10的話,則繼續將各位數進行橫向相加直到其值小於十為止所得到的數,即為數根。換句話說,數根是將一數字重複做其數字之和,直到其值小於十為止,則所得的值為該數的數根。例如54817的數根為7,因為5+4+8+1+7=25,25大於10則再加一次,2+5=7,7小於十,則7為54817的數根。

性質

x+9與x的數根相同,即一個數加9後它的數根不變。

公式法求數根:

a的數根b = (a-1) % 9+1, 即 mod(a-1, 9)+1,且a ∈ N*

C程式求一個數的數根

#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] == '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);}//公式法直接求數根function test(num){    return 1 + (num - 1) % 9;}

相關詞條

熱門詞條

聯絡我們