CCF201709-1 打醬油(100分)
阿新 • • 發佈:2018-12-14
問題描述 小明帶著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瓶。
問題分析 儘可能多地使用買五送一的組合 餘錢 資料結構
演算法設計
- 輸入總錢數N
- N整除50,計算得n2
- 餘錢整除30,計算得n1
- 輸出N整除10+2*n2+n1
程式設計實現 (滿分C++程式碼)
#include<iostream>
using namespace std;
int main()
{
int N;
cin>>N;
int n2=0,n1=0;//分別表示買五送一、買三送一的組數
n2=N/50;
n1=(N-n2*50)/30;
cout<<(n1+n2*2+N/10);
return 0;
}