把一个数的各个位相加,结果得到的数在相加,如此反复,直到结果为一位数!

tlping 2002-09-13 07:43:38
把一个数的各个位相加,结果得到的数在相加,如此反复,直到结果为一位数!
我看到的一个不错的算法,提出来供大家参考:
int fuc(int value)
{
int result=value%9;
if (result=0)
result=9;
if (value=0)
result=0;
return result;
}
...全文
562 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
tlping 2002-09-13
  • 打赏
  • 举报
回复
to morejoy
有没有搞错13%9不是等于4吗?
补充不多此一举
morejoy 2002-09-13
  • 打赏
  • 举报
回复
首先:应为if(result==9)而不是if(result=9);
其次:这个算法应该还有补充,例如:if value==13, then result==4.
lw_yx 2002-09-13
  • 打赏
  • 举报
回复
经典啊
tlping 2002-09-13
  • 打赏
  • 举报
回复
我想问一下现在还有人用vb吗?或者是vbscript

说实话我不喜欢vb
tlping 2002-09-13
  • 打赏
  • 举报
回复
上面两个if可改为
if(!result)
result=9;
if(!value)
result=0;
tlping 2002-09-13
  • 打赏
  • 举报
回复
不好意思,受vb的影响总是把赋值写错
tnt_tnt 2002-09-13
  • 打赏
  • 举报
回复
上面的让人有点怀疑你是不是学过C++,赋值会是这样的吗?
tqhfenbid 2002-09-13
  • 打赏
  • 举报
回复
老兄好像错了,赋值语句应该是==
clingsii 2002-09-13
  • 打赏
  • 举报
回复
又打错了,result=value%9
clingsii 2002-09-13
  • 打赏
  • 举报
回复
sorry,是result%9
clingsii 2002-09-13
  • 打赏
  • 举报
回复
把一个数的各个位相加,结果得到的数在相加,如此反复,直到结果为一位数。结果是该数除以9的余数,
所以result=value%

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧