天天看點

OJ題解



  這是一道oj上的題目:小慧過生日,小明(小明真忙)要買鮮花送她。每枝紅玫瑰(過生日送玫瑰,老賀不懂合适不合适)5元,滿5支送1枝,滿20枝送5枝。小明一共有n(n>10)元錢,最多能買到多少?

  樣例輸入:135

  樣例輸出:33

  不少同學做不出來。今天一位同學問我,那就分析一下。

  其中看不懂這個規則的同學不少,快找人需要送花的人,享受一下購物優惠吧。

  以樣例說事,33枝是怎麼來的?

  5元一支,135元能買27支。他這樣買:先買20支,這時贈5支,再買7支,還能再送1支,這樣就能達到33支了。

  于是,先盡可能享受買20贈5的優惠,再看享受買5贈1的優惠。這是貪心法的思維。

  寫出下面的代碼:

  分享在qq群,不少同學大呼用了不少if語句嵌套着做,錯誤送出了很多次,不想就幾個表達式搞定了。

  其實,思路順了再動手。不要把問題搞複雜了。