隨著資訊科技的蓬勃發展,醫療資訊化已經成為醫院建設中必不可少的一部分。計算機可以很好地輔助醫院管理醫生資訊、病人資訊、藥品資訊等海量資料,使工作人員能夠從這些機械的工作中解放出來,將更多精力投入真正的醫療過程中,從而極大地提高了醫院整體的工作效率。
對藥品的管理是其中的一項重要內容。現在藥房的管理員希望使用計算機來幫助他管理。假設對於任意一種藥品,每天開始工作時的庫存總量已知,並且一天之內不會通過進貨的方式增加。每天會有很多病人前來取藥,每個病人希望取走不同數量的藥品。如果病人需要的數量超過了當時的庫存量,藥房會拒絕該病人的請求。管理員希望知道每天會有多少病人沒有取上藥。
輸入共 3 行, 第一行是每天開始時的藥品總量 m(20 ≤ m ≤ 500)。
第二行是這一天取藥的人數 n(0 < n ≤ 100)。
第三行共有 n 個數,分別記錄了每個病人希望取走的藥品數量(按照時間先後的順序),每兩個數用乙個空格隔開。
只有 1 行,為這一天沒有取上藥品的人數。
30
610 5 20 6 7 8
2
思路:
整體思路:
對於 n 個人,從第 1 個人開始,若第 1 個人的藥品需求數小於等於當前
所剩的藥品數,則可以將藥取走,並且所剩藥品數要減去被取走的數量。
第 2 個人也是一樣,若第 2 個人的藥品需求數小於等於當前所剩的藥品數,
則可以將藥取走,並且所剩藥品數要減去被取走的數量。
以此類推。
所以要維持乙個當前藥品剩餘量,然後和目前的人所需的藥品量做比較,若
能取走藥品,則將所剩藥品數更新(減去取走的量),否則沒有取到藥的人數
加 1 即可。
具體步驟:
1.定義兩個變數,用來接收藥品總量,取藥人數,並將這兩個變數輸入:
int m, n; // 藥品總量,取藥人數
cin >> m >> n;
2.定義乙個變數,用來接收每個人的所需要的藥品數:
int request; // 用來接收需要的藥品數
3.定義乙個變數,用來記錄未取到藥的人數(計數器),並初始化為 0:
int ans = 0; // 未取到藥的人數
4.對於 n 個人,做 n 次操作:
1)輸入當前的人所需藥品數
2)如果當前這個人所需藥品數小於等於所剩藥品數,則所剩藥品數減去
這個所需藥品數(相等與取走了這麼多);否則未取到藥的人數加 1。
for (int i = 0; i < n; i++)
else ans++; // 若所需藥品數大於所剩藥品數,則未取到藥的人數加 1
}
5.輸出未取到藥的人數。
完整**:
#include using namespace std;
int main()
else ans++; // 若所需藥品數大於所剩藥品數,則未取到藥的人數加 1
} // 輸出未取到藥的人數
cout << ans;
return 0;
}
小韋老師 神犇營 my0049 登入驗證
描述 我們在登入 的時候需要驗證密碼是否正確。現在請你寫乙個程式來驗證登入密碼是否正確。密碼為 5 位數。本題的輸入共 5 行,前 4 行是存進去的 4 個密碼,第 5 行是需要驗證的密碼,需要驗證該密碼是否為存進去的第三個密碼,若是,則輸出 yes 否則輸出 no 輸入本題的輸入共 5 行,前 4...
小韋老師 神犇營 my0184 開關燈
假設有 n 盞燈 n 為不大於 5000 的正整數 從 1 到 n 按順序依次編號,初始時全部處於開啟狀態 有 m 個人 m 為不大於 n 的正整數 也從 1 到 m 依次編號。第乙個人 1 號 將燈全部關閉,第二個人 2 號 將編號為 2 的倍數的燈開啟,第三個人 3號 將編號為 3 的倍數的燈做...
小韋老師 神犇營 my0163 完全數
求正整數 2 和 n 之間的完全數 一行乙個數 完全數 因子之和等於它本身的自然數,如 6 1 2 3 輸入n 1 n 5000 一行乙個數,按由小到大的順序。76破題 考查因子的概念和自定義函式。因子意思是 a 能被 b 整除 a b 0 則說明 b 是 a 的因子。思路 1.首先定義變數 n,並...