python坑爹的黑店 1023 坑爹的黑店

2021-10-12 15:41:25 字數 954 閱讀 5496

題目描述

今天小明去了乙個風景如畫的地方散心,但是自己帶的飲料喝完了,小明口渴難耐,見不遠處有家小商店,於是跑去買飲料。

小明:「我要買飲料!」

店主:「我們這裡有三種飲料,礦泉水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元的大鈔遞給店主。小明 小明環顧四周,就這一家商店...