範圍取半演算法例項

2021-05-24 23:14:15 字數 498 閱讀 3106

問題:

使用最少的步驟詢問出對方生日的月和日,要求:被詢問生日方只可以回答,對或不對。

答案:取半法,折半減小範圍。達到快速,準確得到結果。

1.問:上半年生的嗎? 答:不是                  

分析:上半年是1-6月,下半年是7-12月。可以確定他是下半年生的。範圍也就是7-12月。

2.問:第三季的嗎? 答:是

分析:第三季也就是7,8,9月,也就是說他生日月份就在這三個月

3.問:是8月15以前嗎? 答:是

分析:好,可以確定是7月1到8月15之間的某天,反之也就是8月16到9月30號。

4.問:是7月23以前嗎? 答:是

分析:繼續折半。可以確定是7月1到1.23之間。

5. 6.7.8.....如上折半

9.最後能推到7月1號。

所以,最多9次就可以把一年所有天數問一遍。因為每次分兩部分,而2的9次方是512,一年365天。所以9次完全足夠一年每天都可以涵蓋到。

autofac 元件的例項範圍

例項範圍決定如何在請求之間共享服務。使用這個選項,每次請求服務都會返回乙個新例項。使用 instanceperdependency 指定。這是預設選項。下面的 第2行和第3行是等價的。1 var builder new containerbuilder 2 builder.registertype ...

C 取整函式例項

檢視文章 c 取整函式例項應用詳解 2009 11 12 21 14 c 取整函式的相關使用是我們在實際開發應用中經常會碰到的具體的實用性概念,那麼如何使用好c 取整函式呢?首先我們要明白什麼是c 取整函式以及c 取整函式的使用規範。c 取整函式使用例項 math.round是 就近捨入 當要捨入的...

python DataFrame 取差集例項

需求 給定乙個dataframe和乙個list,listwww.cppcns.com中存放的是dataframe中某一列的元素,刪除dat程式設計客棧aframe中與list元素重複的行 即取差集 在網上搜了一圈,好像沒看到dataframe中取差集的方式,所以自己寫了乙個。方法比較繁瑣,如果有更簡...