题目链接:https://www.luogu.com.cn/problem/P1150
代码如下:
/**
* projectName: luogu
* fileName: P1150.java
* packageName: com.gxuwz.yixin
* date: 2021年11月28日上午9:30:07
*/
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt(); // 香烟的个数
int k = scanner.nextInt(); // 烟蒂的个数
int result = n; // 将香烟的个数赋给 result
int x = 1;
x = n/k;
int yu = n%k; // 求余数
while(x>0) { // 如果除数大于 0 证明可以换烟
result += x;
x += yu; // 每次做除法的时候,可能还会剩一些烟蒂,比如例子中, 4/3 , 商1余1,也就是只能换1根,还剩一根烟蒂,那么这一根烟蒂要放到下一次计算中
if(x>=k) { // 只有除数大于 烟蒂的个数时再算余数
yu = x%k;
}else {
yu = 0;
}
x = x/k;
}
System.out.println(result);
}
}