[解题报告]HDU 1555 How many days?
How many days?
Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 4025 Accepted Submission(s): 2348
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
Author
8600
Source
Recommend
LL
为什么不可以直接用m+m/k?
m+m/k确实可以通过题目给的数据,但是这个公式不完整,仅仅算了一部分
事实上有有m+m/k+m-m/k+m/k/k.......
所以还是按照题目要求做,不要自作聪明
#include<stdio.h> int main() { int m,k; while(scanf("%d %d",&m,&k)!=EOF&&k>=2&&k<=1000&&m>=k&&m>=2&&m<=1000) { int tag=0,day=0; while(m--) { tag++; day++; if(tag==k) { m++; tag=0; } } printf("%d\n",day); } return 0; }