题目:有n根雪茄,每次抽完会剩下一部分,剩下部分的k根还可以组成一根,问一共可以出现多少根雪茄。
分析:简单题。利用一个变量last储存当前剩下部分的数量,则可以组成新的雪茄数量就是last/k,新的剩下的部分是last/k + last%k(新组成的剩下的部分+上次没有组成新的雪茄的剩下的部分)。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
int n,m;
while ( scanf("%d%d",&n,&m) != EOF ) {
int l = n,s = n;
while ( l >= m ) {
s += l/m;
l = l%m+l/m;
}
printf("%d\n",s);
}
return 0;
}