你代码没有满足题目。加入m=100,k=3
那么a=m/k=33,意思是100元每花3元奖励1元,共奖励33元,但这33元还得花啊,每花3元还可以奖励1元,等于33元还会奖励11元,11元海辉奖励3元,3元还会奖励1元。
所以得到n=m+a后,你要继续循环判断n的奖励
这是一个递归问题。代码如下:
#include <stdio.h>
int fun(int m,int k,int s)
{
if(m == 0)
return 0;
else
{
if(s == k)
m = m+1;
return 1 + fun(m-1,k,s+1);
}
}
int main()
{
int m,k,day = 0;
scanf("%d %d",&m,&k);
day = fun(m,k,0);
printf("%d",day);
return 0;
}
a=m/k
只是用初始的m元获得的奖励
a继续花下去,每满k元还有奖励
这是个级数问题,你不用循环做也该写出级数求和公式来做
有没有想到奖励的钱可以满足下一次奖励