1. 程式人生 > >CCF--打醬油--JAVA實現

CCF--打醬油--JAVA實現

題目要求:

問題描述  小明帶著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瓶一組來買,餘下的部分儘可能以3瓶一組來買,最後剩下的部分按10元一瓶來買。
涉及小演算法:買的次數 = 輸入的錢數 / 價格餘額 = 之前錢數 / 買的價格

程式碼:

import java.util.Scanner;
public class Main {
	public static void main(String[] args) {
		int num1 = 0;  //買5瓶
		int num2 = 0;  //買3瓶
		int num3 = 0;  //買1瓶

		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();

		if (N >= 50) {       //大於等於50以上的             50-300
			num1 = N / 50;   //買過多少次5瓶
			N = N % 50;      //剩下的餘額
		}
		if (N >= 30) {       //大於等於30以上的              30-40
			num2 = N / 30;   //買過多少次3瓶
			N = N % 30;      //剩下的餘額
		}
		if (N <= 20) {       //小於等於20以上的              10-20
			num3 = N / 10;   //買過多少次1瓶
			N = N % 30;      //剩下的餘額 
		}
		System.out.println(num1*7+num2*4+num3*1);//買的方式乘以一共的瓶數相加

	}

}


如有不對,請指出批評..後續更新用java實現ccf例題