博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
华为机试题【10】-求数字基root
阅读量:4641 次
发布时间:2019-06-09

本文共 1336 字,大约阅读时间需要 4 分钟。

题目描述:

求整数的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面试题汇总》微信订阅号。每天推送经典面试题和面试心得技巧,都是干货!

微信订阅号二维码如下:

这里写图片描述

<script type="text/javascript"> $(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('<ul/>').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('<li/>').text(i)); }; $numbering.fadeIn(1700); }); }); </script>

转载于:https://www.cnblogs.com/fengsehng/p/6048702.html

你可能感兴趣的文章
OpenCV YUV 与 RGB的互转(草稿)
查看>>
二次注入原理及防御
查看>>
会话记住已登录功能
查看>>
Linux内核分析——可执行程序的装载
查看>>
儿子和女儿——解释器和编译器的区别与联系
查看>>
第一阶段冲刺3
查看>>
父类引用指向子类对象
查看>>
网页如何实现下载功能
查看>>
IT男专用表白程序
查看>>
读《大道至简》第六章感想
查看>>
ef linq 中判断实体中是否包含某集合
查看>>
章三 链表
查看>>
Solution for Concurrent number of AOS' for this application exceeds the licensed number
查看>>
CSE 3100 Systems Programming
查看>>
IntelliJ IDEA 的Project structure说明
查看>>
Java Security(JCE基本概念)
查看>>
Linux Supervisor的安装与使用入门
查看>>
创建 PSO
查看>>
JasperReport报表设计4
查看>>
项目活动定义 概述
查看>>