华为机试题【10】-求数字基root

原创 2016年07月09日 20:24:30

题目描述:

求整数的Root:给定正整数,求每位数字之和;如果和不是一位数,则重复;
输入:输入任意一个或多个整数
输出:输出各位数字之和,直到和为个位数为止(输入异常,则返回-1),多行,每行对应一个输入数据的结果。

样例输入:

25
865

样例输出:

7
1

思路分析:

  • 首先求个位数相加,经典方法,求余相除
  • 要求各个位数的和是小于10,可以采用递归或者循环

代码:

import java.util.Scanner;

public class Main {
    static int[] num = {1,2,5,10,20,50,100};
    public static void main(String[] args) {
    Scanner scan = new Scanner(System.in);
    while(scan.hasNext()){
        int input = scan.nextInt();
        if(input < 1){
            System.out.println(-1);
        }else{
            System.out.println(getRoot(input));
        }
    }   
    }
    public static int getRoot(int n){
        int all = 0;
        int a = 0;
        while(n > 0){
            a = n % 10;
            n = n / 10;
            all = all +a;
        }
        if(all >= 10){
            return getRoot(all);
        }
        return all;
    }
}

我的微信二维码如下,欢迎交流讨论

这里写图片描述

欢迎关注《IT面试题汇总》微信订阅号。每天推送经典面试题和面试心得技巧,都是干货!

微信订阅号二维码如下:

这里写图片描述

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010321471/article/details/51868375

数字基root

描述: 求整数的Root:给定正整数,求每位数字之和,如果和不是一位数,则重复;输入任意一个活多个整数, 输出各位数字之和,如果输入不为正整数,输出-1。 分析: 当数的和不为一位数时,继...
  • lanximu
  • lanximu
  • 2014-03-09 15:33:58
  • 1548

[华为机试练习题]32.数字基root

题目描述: 求整数的Root:给定正整数,求每位数字之和;如果和不是一位数,则重复; 题目类别: 数组 难度: 初级 运行时间限制: 10Sec 内存限制: 128MByte ...
  • SunnyYoona
  • SunnyYoona
  • 2015-07-01 21:09:24
  • 1669

华为机试题【10】-求数字基root

题目描述:求整数的Root:给定正整数,求每位数字之和;如果和不是一位数,则重复; 输入:输入任意一个或多个整数 输出:输出各位数字之和,直到和为个位数为止(输入异常,则返回-1),多行,每行对应...
  • u010321471
  • u010321471
  • 2016-07-09 20:24:30
  • 1895

数字基root

描述:  求整数的Root:给定正整数,求每位数字之和;如果和不是一位数,则重复;   题目类别:  数组  难度:  初级  运行时...
  • persever
  • persever
  • 2015-07-07 11:50:44
  • 311

华为机试题-最小公倍数

今天去华为机试,这是我第一次到华为机试,以前yi一共三道题。
  • Honkee_
  • Honkee_
  • 2014-07-06 21:17:42
  • 872

华为提前批机试题目

都说程序员是最爱分享的一类人 :) 第一道: 水仙花数: 我记忆里做的第一道编程题有没有。。。 输出100到999里的数,这个数要求每位的数字的三次方之和等于该数字。另外最后还要输出这些水仙花...
  • riverflowrand
  • riverflowrand
  • 2017-07-06 21:38:51
  • 1205

华为在线训练之16进制转换10进制

package test; import java.util.List; import java.util.Scanner; import java.lang.Math; import java.ut...
  • blog_empire
  • blog_empire
  • 2016-05-18 22:11:48
  • 439

2014华为机试真题(2)

1.数字是否存在相同部分         求一个整型数字中有没有相同的部分,例如12386123这个整型数字中相同的部分是123,相同的部分至少应该是2位数,如果有相同部分返回1,如果没有则返回0。...
  • qianhen123
  • qianhen123
  • 2015-08-14 22:01:38
  • 1353

kubernetes---基于ca签名的双向数字证书认证方式

以下资料来自《Kubernetes 权威指南》 配置master上kube-apiserver , kube-controller-manager和kube-scheduler 生成相关文件 ...
  • windycon
  • windycon
  • 2018-02-17 18:06:52
  • 170

求上则中,求中则下

 求上则中,求中则下。 这是我老弟最喜欢的名言。 我以前没有听过,但是我听老弟说过以后,我就记在了心里。 也许我们不知道结局会怎样,但是我们还是要奋力一搏,否则,过后我们一定会后悔当时为什么不奋力一搏...
  • Sara_2007
  • Sara_2007
  • 2007-11-23 10:15:00
  • 861
收藏助手
不良信息举报
您举报文章:华为机试题【10】-求数字基root
举报原因:
原因补充:

(最多只允许输入30个字)