zoukankan      html  css  js  c++  java
  • 给出一个非负整数 num,反复的将所有位上的数字相加,直到得到一个一位的整数。

     1 package digitAddTogither;
     2 
     3 /**
     4  * Created by ZKY on 2017-08-15 01:00.
     5  * 给出一个非负整数 num,反复的将所有位上的数字相加,直到得到一个一位的整数。
     6  * 样例
     7  * 给出 num = 38。
     8  * 相加的过程如下:3 + 8 = 11,
     9  * 1 + 1 = 2。
    10  * 因为 2 只剩下一个数字,所以返回 2。
    11  */
    12 public class DoMain
    13 {
    14     /**
    15      * Get a number's all digit's sum.
    16      * @param num
    17      * @return
    18      */
    19     public int geSum(int num)
    20     {
    21         int sum = 0;
    22         while(num >0)
    23         {
    24             int temp = num %10;
    25             num /= 10;
    26             sum+=temp;
    27         }
    28          return sum;
    29     }
    30 
    31     /**
    32      * 获取一个数的各位和,并判断和是否满足个位数,满足就返回结果。否者继续。
    33      * @param num
    34      * @return
    35      */
    36     public int getAdigit(int num)
    37     {
    38         while(num >=10)
    39         {
    40             num = geSum(num);
    41         }
    42          return num;
    43     }
    44 
    45 
    46 
    47     public static void main(String[] args)
    48     {
    49         DoMain doMain = new DoMain();
    50         int adigit = doMain.getAdigit(38);
    51         System.out.println(doMain.getAdigit(45));
    52         System.out.println(doMain.getAdigit(23));
    53         System.out.println(doMain.getAdigit(69));
    54         System.out.println(doMain.getAdigit(123));
    55         System.out.println(doMain.getAdigit(6623));
    56     }
    57 }

    一开始想到的是递归,但是想了半天写出来的程序返回并不正确。

    换一种思路就很快写出了这个。

  • 相关阅读:
    Sublime text 2/3 中 Package Control 的安装与使用方法
    http content-type accept的区别
    div布局
    [转]HDFS HA 部署安装
    Hive内置数据类型
    MyBatis注解select in参数
    HTTP协议状态码详解(HTTP Status Code)
    Hive基础(5)---内部表 外部表 临时表
    Hive基础(4)---Hive的内置服务
    MySQL数据备份之mysqldump使用(转)
  • 原文地址:https://www.cnblogs.com/zkycode/p/7362360.html
Copyright © 2011-2022 走看看