空中旅行

题目难度:简单

知识点:数学逻辑

方法一

判断剩余燃料是否大于等于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);
    }
}