欢迎来到天天文库
浏览记录
ID:49203371
大小:46.50 KB
页数:6页
时间:2020-03-01
《汽车加油问题.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、汽车加油问题1.题目:汽车加油问题:一辆汽车加满油后可行驶n公里。旅途中有若干个加油站。设计一个有效算法,指出应在哪些加油站停靠加油,使沿途加油次数最少。2.算法步骤:1.请求输入数组并规定格式以及代表意义。2.以字符串形式读取数组并初始化数组。3.建立循环求距离之和并判断是否需要加油,如果需要继续执行否则停止程序。4.建立循环判断当前油量是否足够到达下一个加油站,如果不够则输出当前加油站的序号并刷新油量为最大油量,如果足够则仅刷新油量进入下一次循环。3.源代码:package汽车加油问题贪心;importjava.util.Scanner;精选范本,供参
2、考!publicclassGreedy{publicstaticvoidmain(String[]args){System.out.println("请输入一个数组,数组元素依此表示:汽车满油量行驶距离、距第一个加油站的距离、各个加油站之间的间距");System.out.println("(注意加油站距离不得大于最大行驶距离)");Scannerin=newScanner(System.in);intf=0,b=0,c=0;Stringh=in.nextLine();//将数组读入字符串h=h.trim();//去掉字符串两头空格for(inti=0;i
3、4、.parseFloat(h.substring(f,h.length()));//核心算法精选范本,供参考!floatn=a[0];floatN=n;//实际油量intm=0,h1=0;for(inti=1;i=h1){//判断是否需要加油System.out.println("不需要加油");System.exit(0);}System.out.print("至少需要在第");for(inti=1;i5、t(i-1+"");m++;N=n;N=N-a[i];}精选范本,供参考!elseif(N>=a[i]){N=N-a[i];}}System.out.print("个加油站加油,");System.out.print("共加"+m+"次。");}}1.运行截图:1.2.精选范本,供参考!【本文档内容可以自由复制内容或自由编辑修改内容期待你的好评和关注,我们将会做得更好】精选范本,供参考!
4、.parseFloat(h.substring(f,h.length()));//核心算法精选范本,供参考!floatn=a[0];floatN=n;//实际油量intm=0,h1=0;for(inti=1;i=h1){//判断是否需要加油System.out.println("不需要加油");System.exit(0);}System.out.print("至少需要在第");for(inti=1;i5、t(i-1+"");m++;N=n;N=N-a[i];}精选范本,供参考!elseif(N>=a[i]){N=N-a[i];}}System.out.print("个加油站加油,");System.out.print("共加"+m+"次。");}}1.运行截图:1.2.精选范本,供参考!【本文档内容可以自由复制内容或自由编辑修改内容期待你的好评和关注,我们将会做得更好】精选范本,供参考!
5、t(i-1+"");m++;N=n;N=N-a[i];}精选范本,供参考!elseif(N>=a[i]){N=N-a[i];}}System.out.print("个加油站加油,");System.out.print("共加"+m+"次。");}}1.运行截图:1.2.精选范本,供参考!【本文档内容可以自由复制内容或自由编辑修改内容期待你的好评和关注,我们将会做得更好】精选范本,供参考!
此文档下载收益归作者所有