How many days?
Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 8506 Accepted Submission(s): 4922
Problem Description
8600的手机每天消费1元,每消费K元就可以获赠1元,一开始8600有M元,问最多可以用多少天?
Input
输入包括多个测试实例.每个测试实例包括2个整数M, k,(2 <= k <= M <= 1000).M = 0, k = 0代表输入结束.
Output
对于每个测试实例输出一个整数,表示M元可以用的天数。
Sample Input
2 2 4 3 0 0
Sample Output
3 5
import java.util.Scanner;
public class Main{
private static Scanner scanner;
public static void main(String[] args) {
scanner = new Scanner(System.in);
while (scanner.hasNext()) {
int m = scanner.nextInt();
int k = scanner.nextInt();
if (m == 0 && k == 0) {
break;
}
int day = 0;
while (true) {
for (int i = 0; i < k; i++) {
// 每次减k元,每减一元如果day>=0就day++
// 否则就是负数了,退出for
m--;
if (m >= 0) {
day++;
} else {
break;
}
}
// 到这里如果大于等于0,证明消费满了k次,day应该++
// 否则就应该退出
if (m >= 0) {
m++;
} else {
break;
}
}
System.out.println(day);
}
}
}