码迷,mamicode.com
首页 > 其他好文 > 详细

上海月赛 数根

时间:2020-07-11 19:37:28      阅读:55      评论:0      收藏:0      [点我收藏+]

标签:code   正整数   bsp   上海   +=   输出   退出   default   for   

 给定一个十进制下的正整数 n,若 n 的各位数字之和是一位数,则这个和是 n 的数根。例如,999 的数根为 9,因为 9+9+9=272+7=9。给定 n,请输出它的数根。

这样的话,和计算一个数的位数方法差不多

ans=n;
a=n;
n=0;
while(ans>=10)//如果ans是个位数,就退出循环
{
    if(a<=0)
    {
        a=n;//让a等于新计算出来的数字,从新再来一遍
        ans=n;//ans也要等于新计算出来的数字
        n=0;//把n归零
    }
    n+=a%10;//加上目前数字的最后一位
    a/=10;//去掉个位
}

我看了数据范围:

1≤n≤10^1000

就用了字符串

for(int i=0;i<s.length();i++)
{
    n+=s[i]-0;//加上数字的每一位
}

应该是对的

上海月赛 数根

标签:code   正整数   bsp   上海   +=   输出   退出   default   for   

原文地址:https://www.cnblogs.com/zjylzf/p/13284543.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!