开发笔记

  • 首页
  • 工具箱
三味线的博客
  1. 首页
  2. 算法
  3. 正文

数字根

2019-02-11 947点热度 0人点赞 0条评论

数字根(Digital Root)是自然数的一种性质,换句话说,每个自然数都有一个数根。

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

数根的一个性质:x+9与x的数根相同,即一个数加9后它的数根不变。
公式法求数根:a的数根b = a % 9

#include <iostream>
using namespace std;

int main()
{
    char str[1001];
    while(cin>>str)
    {
        if(str[0]=='0') break;
        int sum=0;
        for(int i=0;str[i]!='\0';i++)
        {
            sum+=str[i]-'0';
        }
        sum=(sum-1)%9+1;
        cout<<sum<<endl;
    }
    return 0;
}
标签: C++ 算法
最后更新:2020-06-06

三味线

不吃咸鱼的喵

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

Captcha Code

COPYRIGHT © 2022 voidcat.cn. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

蜀ICP备18010095号-1