下面的算法可以根据输入的qq宠物的成长值,计算出宠物的等级。
其中calstep(),求得依等级所需的成长值,而实际成长到下一级所需要的成长值由上一级成长到当前级别
所需成长值+依等级所需的成长值。
#include "stdio.h"
int getlevel(long g);
main()
{
long g;
scanf("%ld",&g);
printf("%d/n",getlevel(g));
}
int getlevel(long g)
{
int k=1;
long lgstep=1;
long lastg=1;
if(g<=1) return k;
while(g>=lastg)
{
lgstep=lgstep+calstep(k-1);
lastg=lastg+lgstep;
k++;
}
return k-1;
}
int calstep(int l)
{
int a[]={1,1,2,2,3,4,3,4};
return (l/8)*4+a[l%8];
}