CCF CSP 打酱油 java 201709_1 100分

CCF CSP 打酱油 java 201709_1 100分

问题描述
  小明带着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瓶1瓶的买。这样买的酱油肯定是最多的。
Java代码如下

import java.util.Scanner;
public class csp201709_1 {
	public static void main(String[] args) {
		Scanner input = new Scanner(System.in);
		int number = input.nextInt();
		int count1 = number / 50;
		number = number % 50;
		int count2 = number / 30;
		number = number % 30;
		int count3 = number / 10;
		int result = 7 * count1 + 4 * count2 + count3;
		System.out.println(result);
	}

}

ok!大功告成了,如果你有其他的方法或者问题,欢迎在评论区交流。

发布了19 篇原创文章 · 获赞 13 · 访问量 4075

猜你喜欢

转载自blog.csdn.net/qq_38929464/article/details/88586037