#include <iostream.h>
#include <math.h>
int main()
{
int i = 0; //循环变量
int s = 1000; //总里程
int n = 3000; //总萝卜数
for(i = 0; i < s; i++)
{
//计算要分几次搬运,是下取整。
int x = (int)ceil((double)n/1000);
//如果回去搬萝卜的代价比搬过来的萝卜数量大,说明没价值,不要返回去搬,扔了。
if(n % 1000 != 0 && n % 1000 <= x)
{
x -= 1;
}
//如果要回去多次搬运,则往返路程要计算好。两次搬运要走三次路。
if(x == 2)
{
x += 1;
}
//如果要回去多次搬运,则往返路程要计算好。三次搬运要走五次路。一次搬运当然就一次路就OK了。
else if(x == 3)
{
x += 2;
}
//让驴吃掉的萝卜。
n -= x;
}
cout << "商人最多可卖出的胡萝卜数量为:" << n << endl;
return 0;
}