信息学奥赛一本通 2059:【例3.11】买笔
生活随笔
收集整理的這篇文章主要介紹了
信息学奥赛一本通 2059:【例3.11】买笔
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
【題目鏈接】
ybt 2059:【例3.11】買筆
本題條件欠缺,我們做此題時添加如下條件:
剩余班費x > 0
買筆數量確定時,盡量多買更貴的筆。
【題目考點】
1. if…else if語句
【解題思路】
要想多買筆,要盡量多買便宜的那一款。把x元用來買4元的筆,能買x/4個4元的筆。假設買后剩下y元。
- 如果y為0,那么不做操作。
- 如果y為1,那么將一支4元的筆換做5元的。
- 如果y為2,那么將一支4元的筆換做6元的。
- 如果y為3,那么將一支4元的筆換做6元的,一支4元的筆換做5元的。
【題解代碼】
解法1:
#include<bits/stdc++.h> using namespace std; int main() {int x, n4 = 0, n5 = 0, n6 = 0;//n4,n5,n6:4元,5元,6元筆的個數 cin >> x;if(x > 4)//如果剩下的班費小于4元,也就不用買筆了 {n4 = x/4;x %= 4;//此時x為買4元筆剩下的錢,只能為0,1,2,3 if(x == 1){//4元筆換5元 n5++;n4--;}else if(x == 2){//4元筆換6元 n6++;n4--;}else if(x == 3){//4元筆換6元n6++;n4--;if(n4 > 0){//如果還有4元筆,那么換為5元的,否則不換了 n5++;n4--;} }}cout << n6 << ' ' << n5 << ' ' << n4;return 0; } 新人創作打卡挑戰賽發博客就能抽獎!定制產品紅包拿不停!總結
以上是生活随笔為你收集整理的信息学奥赛一本通 2059:【例3.11】买笔的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信息学奥赛一本通 1003:对齐输出 |
- 下一篇: 信息学奥赛一本通(1195:判断整除)