沙漠储油点

Description一辆重型卡车预穿过长度大于1000公里小于1500公里的沙漠,卡车耗油为1升/公里,卡车总载油能力为500升。显然卡车装一次油是过不了沙漠的,因此司机必须设法在沿途建立几个储油点,使卡车能顺利穿越沙漠,试问司机如何建立这些储油点?每一个储油点应存多少汽油,才能使卡车以消耗最少汽油的代价通过沙漠? 请通过编程技术及 打印储油点的序号,各储油点距离沙漠始点的距离以及储油点的储油量.
Input预穿过沙漠的长度公里整数Dis(大于1000公里小于1500公里).当输入0时程序结束.
Output储油点序号 起始点到储油点的长度 储油点的储油量 ,这三个变量在一行中输出,每两个数据中有两个空格.并且这三个数据占一行.

Sample Input

1000
1100
0

Sample Output

1  25  3500
2  63  3000
3  108  2500
4  163  2000
5  234  1500
6  334  1000
7  500  500
1  14  5500
2  37  5000
3  63  4500
4  92  4000
5  125  3500
6  163  3000
7  208  2500
8  263  2000
9  334  1500
10  434  1000
11  600  500


#include<stdio.h>
void main()
{
int dis,k,oil,n,i;
scanf("%d",&n);
while(n)
{
int a[2][65]={0};
dis=500,k=1,oil=500;
do
{
a[0][k]=n-dis,a[1][k]=oil;
k++;
dis=dis+500/(2*k-1);
oil=500*k;
}while(dis<n);
for(i=1;i<k;i++)
printf("%d %d %d\n",i,a[0][k-i],a[1][k-i]);
scanf("%d",&n);
}
}

posted @ 2013-06-23 22:04  失眠的娃儿  阅读(385)  评论(0编辑  收藏  举报