close

題目概要:

輸入一個數字N(最大值為10^1000),判斷給定某數s(1<=s<=12)是否可以整除N。

解題方向:

1. 使用倍數判別,判斷使否整除。(網路看到的解法,值得一試)

2. 直接硬幹,寫個長除法的程式碼出來。(本題是用這個)

程式碼:

//Java
import java.util.Scanner;
import java.util.Vector;
import java.util.Iterator;
class uva11344{
public static void main(String args[]){
Scanner sc=new Scanner(System.in);
int cases=Integer.parseInt(sc.nextLine()); //總共有多少case需要判斷。
for(int i=0;i<cases;i++){
String st=sc.next(); //被除數。
int setSize=Integer.parseInt(sc.next()); //除數個數。
Vector<Integer> vector=new Vector<Integer>();//除數。
for(int j=0;j<setSize;j++){
vector.add(Integer.parseInt(sc.next()));
}
boolean flag=true;
Iterator<Integer> iterator=vector.iterator();
while(iterator.hasNext()){
int temp=0;
int d=iterator.next();
for(int k=0;k<st.length();k++){
temp=(temp*10+st.charAt(k)-48)%d; //長除法。
}
if(temp!=0){
flag=false;
break;
}
}
//Output
if(flag) System.out.println(st+" - "+"Wonderful.");
else System.out.println(st+" - "+"Simple.");
}
}
}
view raw uva11344.java hosted with ❤ by GitHub

arrow
arrow
    文章標籤
    Java
    全站熱搜
    創作者介紹
    創作者 a7069810 的頭像
    a7069810

    紀錄自己的程式人生

    a7069810 發表在 痞客邦 留言(0) 人氣()