/*
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;
}
评论