1. 程式人生 > >CCF — 打醬油(Python實現:100分)

CCF — 打醬油(Python實現:100分)

2017.09.1 打醬油

目錄

前言

前言

最近我在做CCF的題目,也打算把每道題的解題思路都寫到部落格上來,希望能幫助到也在做CCF題目的讀者們,希望你們通過本文能有所提示,幫助大家提升程式設計能力。另外有個很好的想法就是,建議讀者們可以先看一下問題分析的部分,然後自己再整理一下思路,重新做一遍,最後再參考程式碼,我想這樣會更有收穫。

一、問題描述

問題描述

小明帶著N元錢去買醬油。醬油10塊錢一瓶,商家進行促銷,每買3瓶送1瓶,或者每買5瓶送2瓶。請問小明最多可以得到多少瓶醬油。

輸入格式

輸入的第一行包含一個整數N,表示小明可用於買醬油的錢數。N是10的整數倍,N

不超過300。

輸出格式

輸出一個整數,表示小明最多可以得到多少瓶醬油。

樣例輸入

40

樣例輸出

5

樣例說明

  把40元分成30元和10元,分別買3瓶和1瓶,其中3瓶送1瓶,共得到5瓶。

樣例輸入

80

樣例輸出

11

樣例說明

把80元分成30元和50元,分別買3瓶和5瓶,其中3瓶送1瓶,5瓶送2瓶,共得到11瓶。

二、問題分析

這道題的主要解題思路如下:

分成三種情況:優先買5瓶送2瓶的情況,再買3瓶送1瓶的情況、最後才買10元1瓶的情況;依次迴圈,直到花光所有金錢。

三、程式說明

n:輸入n元錢

count:買醬油的瓶數

python語言的程式如下(100分):

n = int(input())
count = 0
while n != 0:
    if n >= 50:
        n -= 50
        count += 7
        continue
    if n >= 30 and n < 50:
        n -= 30
        count += 4
        continue
    if n < 30:
        count += (n/10)
        n = 0

print('%d' %(count))