題目描述
今天小明去了乙個風景如畫的地方散心,但是自己帶的飲料喝完了,小明口渴難耐,見不遠處有家小商店,於是跑去買飲料。
小明:「我要買飲料!」
店主:「我們這裡有三種飲料,礦泉水1.5元一瓶,可樂2元一瓶,橙汁3.5元一瓶。」
小明:「好的,給我一瓶礦泉水。」
說完他掏出一張n元的大鈔遞給店主。
小明:「......」
小明環顧四周,就這一家商店,況且實在太渴了,就決定在這買了。不過小明想,與其把錢當小費送給他還不如自己多買一點飲料,反正早晚都要喝,但是要盡量少讓他賺小費。
現在小明希望你能幫他計算一下,最少他要給店主多少小費。
輸入格式
輸入資料的第一行是乙個整數t(1<=t<=100),代表測試資料的數量。然後是t行測試資料,每個測試資料只包含乙個正整數n(1<=n<=10000),n代表小明手中鈔票的面值,以分為單位。
注意:商店裡只有題中描述的三種飲料。
輸出對於每組測試資料,請你輸出小明最少要浪費多少錢給店主作為小費,以分為單位。
樣例輸入
樣例輸出
最初想到的演算法,妥妥的出錯了
1 #include
2 int main(void)3 21 return 0;22 }
後來發現這種演算法並不對,比如450=3*150,而在我的演算法中,先用350去減,剩下100。
下面是參考的官方的**,不太明白。
#include
intmain()
return 0;
下面的是從csdn看到的**,容易理解。相當於150*x+200*y+350*z的多項式,x,y,z分別從最大值到0不斷嘗試,以獲得最接近money的值。
1 #include
2 using namespacestd;3 intmain()4 24 }25
26 }27 cout<
30 }31 return 0;32 }
1023 坑爹的黑店
題目描述 今天小明去了乙個風景如畫的地方散心,但是自己帶的飲料喝完了,小明口渴難耐,見不遠處有家小商店,於是跑去買飲料。小明 我要買飲料!店主 我們這裡有三種飲料,礦泉水1.5元一瓶,可樂2元一瓶,橙汁3.5元一瓶。小明 好的,給我一瓶礦泉水。說完他掏出一張n元的大鈔遞給店主。小明 小明環顧四周,就...
1023 坑爹的黑店
今天小明去了乙個風景如畫的地方散心,但是自己帶的飲料喝完了,小明口渴難耐,見不遠處有家小商店,於是跑去買飲料。小明 我要買飲料!店主 我們這裡有三種飲料,礦泉水1.5元一瓶,可樂2元一瓶,橙汁3.5元一瓶。小明 好的,給我一瓶礦泉水。說完他掏出一張n元的大鈔遞給店主。小明 小明環顧四周,就這一家商店...
1023 坑爹的黑店
今天小明去了乙個風景如畫的地方散心,但是自己帶的飲料喝完了,小明口渴難耐,見不遠處有家小商店,於是跑去買飲料。小明 我要買飲料!店主 我們這裡有三種飲料,礦泉水1.5元一瓶,可樂2元一瓶,橙汁3.5元一瓶。小明 好的,給我一瓶礦泉水。說完他掏出一張n元的大鈔遞給店主。小明 小明環顧四周,就這一家商店...