[解题报告]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;
}

 

posted @ 2013-04-25 20:03  三人木君  阅读(235)  评论(0编辑  收藏  举报