CCF計算機職業資格認證考試題解系列文章為meelo原創,請務必以鏈接形式注明本文地址
CCF CSP 201709-1 打醬油
問題描述
小明帶着
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瓶,則買5瓶。
如果錢購買3瓶,則買3瓶。
剩余的錢單賣1瓶。
代碼
C++
#include <stdio.h> int main() { int N; scanf("%d", &N); int ans = 0; if(N / 50) { ans += (N / 50) * 7; N = N % 50; } if(N / 30) { ans += (N / 30) * 4; N = N % 30; } ans += N / 10; printf("%d", ans); }
