andy6804tw
8/3/2016 - 7:30 AM

http://e-tutor.itsa.org.tw/e-Tutor/mod/programming/view.php?a=15733 這題要注意可能會溢位必須要用BigInteger,美個數相乘直到餘一為止

http://e-tutor.itsa.org.tw/e-Tutor/mod/programming/view.php?a=15733

這題要注意可能會溢位必須要用BigInteger,美個數相乘直到餘一為止

import java.math.BigInteger;  
import java.util.*;  
  
public class Main {  
  
    public static void main(String[] args) {  
        Scanner scn = new Scanner(System.in);  
        int n=scn.nextInt();  
        while(n--!=0){  
            int num=scn.nextInt(),arr[]=new int [num],j=0;  
            BigInteger tot=new BigInteger("1"),div=scn.nextBigInteger();  
            for(int i=0;i<num;i++)  
                arr[i]=scn.nextInt();  
            for(j=0;j<num;j++){  
                tot=tot.multiply(new BigInteger(Integer.toString(arr[j]%Integer.parseInt(div.toString()))));  
                if(tot.mod(div).equals(new BigInteger("1"))){  
                    System.out.println(j+1);  
                    break;  
                }  
            }  
            if(j==num)  
                System.out.println(-1);  
        }  
    }  
    /* 
    題目:2016 闖關組 [Problem B1] Product and remainder
    作者:1010
    時間:西元 2016 年 8 月 */
}