杭电1048题,求解答错误的地方!谢谢!
#include <iostream>using namespace std;
int main()
{
double n,m;
while(cin>>n>>m)
{
double cnt_all=n; //总盐水升数
__int64 cnt_time=0; //计算总时间
int cnt=1; //计算每一秒间隔后的连续滴盐水数量
while(1)
{
double a=cnt_all;
cnt_all=cnt_all-cnt*m;
cnt_time=cnt_time+cnt;
if(cnt_all<=0) //如果cnt_all<=0则剩下的盐水将在连续滴中滴完
{
if(cnt_all<0)
{
int i=0;
while(a>0)
{
a-=m;
i++;
}
cnt_time=cnt_time-cnt+i; //计算出刚好滴完的时候
}
printf("%I64d\n",cnt_time);
break;
}
cnt++;
cnt_time++;
}
}
return 0;
}