汽车加油问题

假定你开去香格里拉。出发前油箱是满的,可以行驶D公里。路上一共有n个加油站,A[i]表示从第i-1加油站到第i个的距离。最后一个加油站在香格里拉。请设计算法帮助驾驶员选择加油站使加油的次数最少。 编写的有点问题,请师傅们指点一下。
package jiayou;
import java.io.*;
public class Jiayou {
static BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
public static void main(String [] args) throws NumberFormatException, IOException{
int number;
System.out.println("请输入加油站个数number值:");
number=Integer.parseInt(br.readLine());
int k=0; //k为加油次数,m剩余可跑公里数

int a[] = new int[number];
int p = 0;
int m = p ;
System.out.println("请输入加油站之间的距离的数组元素:");
try{
for(int i=0;i<number;i++){
a[i]=Integer.parseInt(br.readLine());
}
}
catch(Exception es){
System.out.print(es.getMessage());
}
System.out.println("请输入加满油最远可走距离p的值:");

p=Integer.parseInt(br.readLine());

// int l=0;

for(int i=0;i<number-1;i++){

// m = p - a[i];
if(p<a[i]){
System.out.println("无法到达终点");
break;
}
else {

m = m - a[i];//p为一次能行驶的距离 m为行驶了1油站剩余的距离
if(a[i+1]>m){
System.out.println("第 "+(i+1)+"站要加油!");
m = p;
k++;
// break;

}
else {
System.out.println("第"+(i+1)+"站不加油! ");
// break;


}




}



}

System.out.println("最少次数为: "+k);
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值