iT邦幫忙

2021 iThome 鐵人賽

DAY 7
0
自我挑戰組

CPE題目練習系列 第 7

[Day7]2 the 9s

  • 分享至 

  • xImage
  •  

上一篇介紹了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,繼續加油!


上一篇
[Day6]Back to High School Physics
下一篇
[Day8]Rare Easy Problem
系列文
CPE題目練習30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言