LightOJ 1138 二分查詢

2021-09-30 13:06:35 字數 2197 閱讀 7250

description

you task is to find minimal natural numbern, so thatn!contains exactlyqzeroes on the trail in decimal notation. as you known! = 1*2*...*n. for example, 5! = 120, 120 contains one zero on the trail.

input

input starts with an integert (≤ 10000), denoting the number of test cases.

each case contains an integerq (1 ≤ q ≤ 108)in a line.

output

for each case, print the case number andn. if no solution is found then print'impossible'.

sample input31

25

sample output

case 1: 5

case 2: 10

case 3: impossible

思路分析:剛開始以為只要n!裡每出現乙個5的倍數,結果的末尾就會多乙個0.所以若結尾有n個0,n 的最小值是5n,後來發現錯了,如25和4的積有2個0,125和8 的積有3個0。

5                10               15              25             35                 75                125

5*1             5*2            5*3            5*5    

5*7              5*5*3           5*5*5   (5的個數和下面0的最多個數相等) 

5*2=10    10*2=20    15*2=30   25*4=100   35*4=140    75*4=300    125*8=1000 

5!          5                                              0 

10!       5、10                                       00

15!       5、10、15                               000

20!       5、10、15、20                      0000

25!       5、10、15、20、25              000000

27!       5、10、15、20、25              000000

my  solution:

/*2015.9.18*/

#includeint tongji5(int x)/*求1—x數字中5的個數*/

return ans;

}int fun(int a)

high-=high%5;/*轉化,當前求得的high值,不是題目所要求的(滿足限制條件:0的個數)最小數字*/

if(tongji5(high)==a)

return high;

/* high: 從較大數遞減進行查詢滿足題目要求的數字,因而查詢到的是滿足題目要求(滿足限制條件:0的個數)的最大數字.

low: 從較小數遞增進行查詢滿足題目要求的數字,因而查詢到的是滿足題目要求(滿足限制條件:0的個數)的最小數字.

上面的**等效於:

while(low<=high) 0的個數 1 2 3 4 6

if(tongji5(low)==a)

return low;

*/ else

return 0;

}int main()

return 0;

}

迭代二分查詢二分查詢

在寫這篇文章之前,已經寫過了幾篇關於改迭代二分查詢主題的文章,想要了解的朋友可以去翻一下之前的文章 bentley在他的著作 writing correct programs 中寫道,90 的計算機專家不能在2小時內寫出完整確正的二分搜尋演算法。難怪有人說,二分查詢道理單簡,甚至小學生都能明確。不過...

1128 二分 二分查詢

時間限制 10000ms 單點時限 1000ms 記憶體限制 256mb 描述nettle最近在玩 艦 因此nettle收集了很多很多的船 這裡我們假設nettle氪了很多金,開了無數個船位 去除掉重複的船之後,還剩下n 1 n 1,000,000 種不同的船。每一艘船有乙個稀有值,任意兩艘船的稀有...

二分查詢及變種二分查詢

二分查詢也稱折半查詢 binary search 它的查詢效率很好。二分查詢有乙個要求是必須採用順序儲存結構,而且表種的元素是有序的。只有滿足這個條件我們才能使用二分查詢。查詢條件 查詢區域的左邊界,小於等於查詢區域的右邊界 查詢過程 1.迴圈條件 查詢條件 2.計算序列中間下標位置 3.如果待查詢...