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元一瓶来买。

涉及小算法:
买的次数 = 输入的钱数 / 价格
余额 = 之前钱数 / 买的价格


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例题

猜你喜欢

转载自blog.csdn.net/weixin_41744556/article/details/80932396
今日推荐