上一篇介紹了The Decoder,這題如果是剛開始練習的人應該會覺得很困難,不知道在講甚麼,題目跟答案也完全看不懂,但是我們已經練習過很多題ASCII CODE碼了,一看就知道是用charAt下去轉換,接下來只須看規律就好了,剛好這題都是-7,很輕鬆就能完成了
今天講解的題目是The Huge One
先附上程式碼:
import java.util.;
import java.math.;
import static java.lang.System.*;
public class main{
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int a=sc.nextInt();
while(a-->0){
BigInteger n =sc.nextBigInteger();
int b=sc.nextInt();
BigInteger[] c=new BigInteger[b];
boolean A=true;
for(int i=0;i<b;i++){
c[i]=sc.nextBigInteger();
if(n.mod(c[i])!=BigInteger.valueOf(0)&& A==true) A=false;
}
if(A==true) System.out.println(n+" - Wonderful.");
else System.out.println(n+" - Simple.");
}
}
};
這題題目要求我們給一數個N,並輸入好幾個大於等於1小於等於12的數字S,如果N可以被那些數字整除則輸出Wonderful,如果不行則輸出Simple。
因為這題數字太大了,所以我選擇使用前面有提到的BigInteger下去寫,首先給一個可輸入的數字,當作有幾題,再給一個BigInteger當作N,接下來在迴圈之前再給一個,當作有幾個S,接下來使用迴圈,每次迴圈都給系統輸入數字當作S,並讓N除以S,如果N不是0的話就A輸出false,接下來依照A的判斷來輸出就可以咯。
今天的講解就到這裡。
明天也是新的題目,會介紹Palindromes,繼續加油!