[面试题]求反复各位数之和

请写出一个方程,求反复各位数之和 直到其和为一位为止,返回这个数字
ie.   5472576 => 5 +4 +7+2+5+7+6 =36 => 3+6 =9 返回9
 1  ///   <summary>
 2           ///  Fun(integer,true)
 3           ///   </summary>
 4           ///   <param name="integer"></param>
 5           ///   <param name="b"></param>
 6           ///   <returns></returns>
 7           static   int  Fun( int  integer, bool  b)
 8          {
 9               if  (b)
10              {
11                   while  ((integer  =  Fun(integer, false ))  >   9 ) ;
12                   return  integer;
13              }
14 
15               int  len  =  integer.ToString().Length;
16               if  (len  <=   1 return  integer;
17 
18               int  n  =   1 ;
19               for  ( int  i  =   2 ; i  <=  len; i ++ ) n  *=   10 ;
20               int  m  =  integer / n;
21               return  m  +  Fun(integer  -  n  *  m, false );
22          }
posted on 2007-05-16 12:17 K3 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/sskset/archive/2007/05/16/748387.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值