A、跑步訓練
題面:
小明要做一個跑步訓練。初始時,小明充滿體力,體力值計為 10000 。如果小明跑步,每分鍾損耗 600 的體力。如果小明休息,每分鍾增加 300 的體力。體力的損耗和增加都是均勻變化的。小明打算跑一分鍾、休息一分鍾、再跑一分鍾、再休息一分鍾……如此循環。如果某個時刻小明的體力到達 0 ,他就停止鍛煉。問小明在多久后停止鍛煉。為了使答案為整數,請以秒為單位輸出答案。答案中只填寫數,不填寫單位。
注意:
-
給的單位是分鍾,要求我們以秒的形式輸出。
-
不能直接根據題面意思暴力,這樣子出來的結果是3840,但本題正確答案是3880。
- 為什么?因為通過以下這個代碼,可以很容易發現,x的最后輸出數據是400,所以說明最后一個數據並沒有被算進去,而是直接被直接暴力直接break了。不要題目給你分鍾就直接用分鍾去解決問題了,我們應該把分鍾首先都化成秒;而且並不是每次一定要跑完或休息完一分鍾的,是可以直接20s、30s這樣子的。
- 所以我們這題我們其實用筆算更不容易錯,最后的400應該這樣處理:
- \(\frac{400}{600}\) = \(\frac{x}{60}\) , 然后我們會發現 \(x=40s\),之前的3840+40就等於3880啦!
PS:真的好菜哦!
int w=0,x=10000;
while(x)
{
//if(x<=0) break;
x-=600;
w++;
if(x<=0) break;
x+=300;
w++;
cout<<x<<endl;
}
B、紀念日
思路:windows下搜計算器 - > 找到日期計算 -> 拖拉以下就行 -> 單位轉換。
答案:52038720
C、合並檢測
題面:
新冠疫情由新冠病毒引起,最近在 A 國蔓延,為了盡快控制疫情, A 國准備給大量民眾進病毒核酸檢測。然而,用於檢測的試劑盒緊缺。為了解決這一困難,科學家想了一個辦法:合並檢測。即將從多個人( k 個)采集的標本放到同一個試劑盒中進行檢測。如果結果為陰性,則說明這 k 個人都是陰性,用一個試劑盒完成了 k 個人的檢測。如果結果為陽性,則說明至少有一個人為陽性,需要將這 k 個人的樣本全部重新獨立檢測(從理論上看,如果檢測前 k−1 個人都是陰性可以推斷出第 k 個人是陽性,但是在實際操作中不會利用此推斷,而是將 k 個人獨立檢測),加上最開始的合並檢測,一共使用了 k+1 個試劑盒完成了 k 個人的檢測。
A 國估計被測的民眾的感染率大概是 1,呈均勻分布。請問 k 取多少能最節省試劑盒?
思路:並沒有看懂別人寫的!?(我不會,這是別人的思路,沒看懂)
設總人數為pop,感染率p,每次k人,總市級數sum
sum = ([pop/k]+1)*(1+k*p(k+1))
這里的[pop/k]+1)即pop/k向上取整
[pop/k]+1)這里由於pop數量較大,所以這里向上取整的1可以忽略,這里直接取了pop/k,即
sum = (pop/k)*(1+kp(k+1))
將p代入sum = (pop/k)*(1+k*0.01(k+1))
sum求導 = (pop/k)(0.01k-1/k)
可得當k = 10時,sum取最小值
D、REPEAT 程序
思路:我直接暴力寫,算出次數是403,但是貌似不對,然后我看了題解,也沒明白啥意思。
這個用python寫的:https://blog.csdn.net/zranxi/article/details/107629155
這個是本題的數據:https://blog.csdn.net/zranxi/article/details/107630173
E、矩陣
F、整除序列
思路:簡單暴力程序題。