[Day7]2 the 9s

上一篇介绍了Back to High School Physics,是一个简单的距离公式,主要是英文题目需要理解比较困难一点,但整体是非常适合刚入门的题目。

今天讲解的题目是 2 the 9s,
先附上程序码,
import java.util.Scanner;
public class main {
static int degree = 0;
static boolean boo ;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
String N = sc.next();
if(N.equals("0")){
break;
}
boo = false;
degree = 0;
run(N);
if(boo){
System.out.println(N+" is a multiple of 9 and has 9-degree "+degree+".");
}else {
System.out.println(N+" is not a multiple of 9.");
}
}
}
static void run(String N){
int value = 0;
for(int i=0;i<N.length();i++){
value+=N.charAt(i)-48;
}
if(value % 9 ==0){
degree++;
boo = true;
if(value!=9){
run(value+"");
}
}
}
}

EX:99
=18
=9
Ans 9-degree 2
EX:999
=27
=9
Ans 9-degree 2
题目要求入一个数字,并在最後输入0当作结尾,然後输出那个数字每个位数加起来,重复直到剩下个位数,
最後在判断个位数是不是为9,是的话就输出is a multiple of 9 and has 9-degree,
不是就是输出is not a multiple of 9,其中degree就是重复了几次这样的动作的计算。
使用string而不是int是因为这样一个位数一个位数拆开来加比较轻松,
可以写一个副程序,用来当作执行一次,这样会比较轻松。
今天讲解就到这里,这题有用到副程序,当然也可以不使用,依照个人喜好就可以了,但用了会方便一些,也不会让城市看起来太拢长。
明天也是新的题目,会介绍Rare Easy Problem,继续加油!


<<:  JAVA - JAVA Maven 错误处理

>>:  Day07 - Docker 101 容器操作篇

Day 05 「乖,听话给你吃糖果!」测试与依赖:测资料 之 用资料控制依赖

聊完测试金字塔,让我们回到单元测试。 在这篇中,我们会从单元测试的控制与撰写开始,一路带到单元测试与...

Day9# Function 及 Function Receiver

终於来到了第九天,今天要再更深入介绍函式(Function)以及 Function Receiver...

Day11 - Stack and Queue

大家好,我是长风青云。今天是铁人赛第十一天。 成功请到Siri男却无法讲动画,我想想有什麽题目适合他...

【Day 01】 前言 - 大家好 & 目录

HI 大家好~ 第一次参加铁人赛的活动(非常紧张),先简单跟大家自我介绍,几年前我是在事务所当个会计...

JS 宽松相等、严格相等以及隐含转型 DAY54

严格相等 型别与内容 "皆" 需相等 // 内容一样 型别不一样 false c...