1. 程式人生 > >2017第八屆藍橋杯 01 外星日曆(java)

2017第八屆藍橋杯 01 外星日曆(java)

標題:外星日曆


某星系深處發現了文明遺蹟。


他們的計數也是用十進位制。
他們的文明也有日曆。日曆只有天數,沒有年、月的概念。
有趣的是,他們也使用了類似“星期”的概念,
只不過他們的一個星期包含了9天,
為了方便,這裡分別記為: A,B,C....H,I


從一些資料上看到,
他們的23日是星期E
他們的190日是星期A
他們的343251日是星期I


令人興奮的是,他們居然也預見了“世界末日”的那天,
當然是一個很大很大的數字
651764141421415346185


請你計算一下,這遙遠的一天是該文明的星期幾?


你需要提交的是一個大寫字母,表示該文明的星期幾,

不要填寫任何多餘的內容。

結果:

G

思路:

其實這道題只需要使用電腦的計算器就行了。。(簡單點)。。

開啟計算器,檢視,科學型,把651764141421415346185複製上去,再除以9,結果為72418237935712816242.77777777777。

餘數的數值代表著結果:1:A,  2:B,  3:C,  4:D,  5:E,  6:F,  7:G,  8:H,  0:I

程式碼如下:可以使用BigInteger操作大整數

import java.util.*;
import java.math.*;

public class Main {
    
    public static void main(String[] args) {
    	char[] c = {'I','A','B','C','D','E','F','G','H'};
    	BigInteger b1 = new BigInteger("651764141421415346185");
    	BigInteger b2 = new BigInteger("9");
    	BigInteger yu = b1.mod(b2);
    	for(int i=0;i<c.length;i++){
    		if(i==yu.intValue()){
    			System.out.println(c[i]);
    		}
    	}
    }
}