* 例题讲解:例题1:阿里钉钉22届暑期实习 * 现有x瓶啤酒,每3个空瓶子换一瓶啤酒,每7个瓶盖子也可以换一瓶啤 * 酒,问最后可以喝多少瓶啤酒。
解题(Java)
package 算法.规律题;
import java.util.Scanner;
/**
* 例题讲解:例题1:阿里钉钉22届暑期实习
* 现有x瓶啤酒,每3个空瓶子换一瓶啤酒,每7个瓶盖子也可以换一瓶啤
* 酒,问最后可以喝多少瓶啤酒。
*/
public class 瓶子瓶盖换酒 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int x = scanner.nextInt();//共有几瓶
System.out.println(drink(x));
}
public static int drink(int x) {
int count = x;//喝了多少瓶
int k1 = x; //瓶盖
int k2 = x;//空瓶
while (k1 > 3 || k2 > 7) {
while (k1 >= 3) {
int chenge = k1 / 3;
count += chenge;
k1 = k1 % 3;
k1 += chenge;
k2 += chenge;
}
while (k2>=7){
int chenge = k2 / 7;
count += chenge;
k2 = k2 % 7;
k2 += chenge;
k1 += chenge;
}
}
return count;
}
}