2011年6月17日 星期五

701 - The Archeologists' Dilemma

為了尋找外星人曾存在地球的證據,考古學家們正在研究一道半毀的牆,牆上畫有一串奇怪的數字,所有數字的左半部都是完整的,但右半部則由於牆壁長久以來侵蝕的結果已經變得不可辨認,但由於少部分完全未被侵蝕的數字全為2的指數倍,所以他們推斷所有數字亦為2的指數倍(2的E次方)。為了確認這點,考古學家選擇一些左半部(可見)長度小於右半部(不可見)的數字,請你找出這些數是否可能為2的E次方?求最小的E值。

本題會提供一些整數給你,並要求你寫一個程式找出最小的E值,使得2^E的最前面的數字等於提供給你的整數(注意,這些數值後半部不可見的長度大於前半部可見的長度)。

Input 

輸入的每一列會有一個正整數N,最大不會超過2147483648。

Output 

對於每個輸入N,請你找最小的E值,使得2^E的最前面的數字完全等於N。若找不到請輸出"no power of 2"。

Sample Input 

1
2
10

Sample Output 

7
8
20


hint: 單純使用double可能會有問題,請改用 long double
原文出處

沒有留言:

張貼留言