iT邦幫忙

2021 iThome 鐵人賽

DAY 16
0
自我挑戰組

CPE題目練習系列 第 16

[Day16]Basically Speaking

  • 分享至 

  • xImage
  •  

上一篇介紹了Prime Gap,Prime number也就是質數的意思,所以這題也是要我們找質數之間的差值,給一個數,要我們找最相近兩個的差距,在了解題目需要什麼之後就不難解出了。

今天講解的題目是Basically Speaking
先附上程式碼:

import java.util.;
import static java.lang.System.
;
public class main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
int A=0;
String I="";
String X =sc.next();
int B=sc.nextInt(),C=sc.nextInt();
A=Integer.parseInt(X,B);
X=Integer.toString(A,C);
if(X.length()<7){
for(int i=X.length();i<7;i++){
X="0"+X;
I=X;
}
}else if(X.length()>7){
int te=0;
for (int i =(X.length()-1);te<7 ;i-- )
{
I=X.charAt(i)+I;
te++;
}
}else if(X.length()==7) {
I=X;
}
System.out.println(I.toUpperCase());
}
}
};

簡單來說這題需要我們把題目給的進位置轉換成需要的進位置,並每個輸出都有7個數字,並且除了0-9以外,還有A~F(16進位最大到F),所以這題不能用INT,需要用String來做並且要判斷說位數有沒有到7位數,不足的要記得補上0。
這題有用到Integer.parseInt跟Integer.toString,第一個是讓進位置變成10進位,第二個是讓字串轉換成需要的進位,有這兩個內建的寫法這題會輕鬆很多,就不用寫附程式之類的也可以把數字轉換成題目需要的答案。
今天的講解就到這裡。
明天也是新的題目,會介紹Love Calculator,繼續加油!


上一篇
[Day15]Prime Gap
下一篇
[Day17]Love Calculator
系列文
CPE題目練習30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言