空中旅行
题目难度:简单
知识点:数学逻辑
方法一
判断剩余燃料是否大于等于0。每一次循环,用当前剩余燃料减去该次飞行所需要的燃料,且计划飞行次数由n递减,当剩余燃料大于0时,实际飞行次数加一,当剩余燃料小于0或者飞行计划剩余飞行次数小于等于0时,循环结束。
import java.util.*; public class Main { public static void main(String[] args) { Scanner in=new Scanner (System.in); int n=in.nextInt(); int s=in.nextInt(); int sum=0;//实际飞行次数 int temp=0; //循环计算实际飞行次数 while (s>=0 && n>0) { temp=in.nextInt(); s=s-temp; if(s>=0){ sum++; } n--; } System.out.print(sum); } }
方法二
每一次飞行后,判断剩余燃料是否足够。循环时,将每一次飞行需要的燃油累加,且飞行次数加一。判断剩余燃油是否大于等于0,若大于等于0,则此次飞行燃油足够,继续下一个循环,否则结束循环。
import java.util.*; public class Main { public static void main(String[] args) { Scanner in=new Scanner (System.in); int n=in.nextInt(); int s=in.nextInt(); //循环计算实际飞行次数,i表示实际飞行次数 for (int i=0; i<n; i++) { int temp = in.nextInt(); //判断此次飞行燃料是否足够 if (s-temp < 0) { System.out.println(i); return; } s=s-temp; } System.out.println(n); } }