正文

简单的2007-03-20 10:56:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/lingdlz/24121.html

分享到:

/*

Problem Deion

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

*/

#include <stdio.h>
#include <malloc.h>

typedef struct node{
    int m;
    int k;
    int d;
    struct node*next;
}NODE;

int main(){
    NODE *head,*temp;

    head = temp = (NODE*)malloc(sizeof(NODE));
    temp->d = 0;
    while(1){
        scanf("%d %d",&temp->m,&temp->k);
        if(!temp->m && !temp->k)
            break;
        else{
            temp->next = (NODE*)malloc(sizeof(NODE));
            temp = temp->next;
            temp->d = 0;
        }
    }
    temp->next = NULL;
    temp = head;
    while(temp->next){
        for(temp->d = 0; 1;){
            if(!(temp->m/temp->k)){
                temp->d += temp->m;
                break;
            }
            else{
                temp->d += temp->m;
                temp->m = temp->m / temp->k;
            }
        }
        temp = temp->next;
    }
    while(head->next){
        printf("%d\n",head->d);
        temp = head;
        head = head->next;
        free(temp);
    }
    free(head);
    return 0;
}

阅读(2655) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册