- import java.util.Scanner;
- /**
- * *Test10
- * --28人买可乐喝,3个可乐瓶盖可以换一瓶可乐,那么要买多少瓶可乐,够28人喝?假如是50人,又需要买多少瓶可乐?
- *
- * @author samge
- *
- */
- public class Tset10 {
- public static void main(String[] args) {
- Scanner sc = new Scanner(System.in);
- System.out.println("请输入需要可乐的人数:");
- int n = sc.nextInt();
- buyCola(n);
- }
- /**
- * 该方法实现最少购买可乐数
- * @param n
- */
- private static void buyCola(int n) {
- int buy = 0; // 最少要买的可乐数
- int sum = 0; // 可乐可供总数
- int yu = 0; // 可乐空瓶数
- while (sum < n) {
- if (yu == 3) { // 空瓶为3时则换一瓶可乐,即是:3空瓶=1可乐+1空瓶
- sum++;
- yu = 1;
- } else { // 算法设置每次买一瓶可乐,每买一瓶可乐。可乐可供总数+1,空瓶+1
- buy++;
- sum += 1;
- yu++;
- }
- }
- System.out.println("需要买:" + buy + " 瓶,空瓶还有:" + yu + " 个");
- }
- }
复制代码 |
|