空中旅行
空中旅行
http://www.nowcoder.com/questionTerminal/cc929a2ed85f4f49b834e6e301fba77b
空中旅行
题目难度:简单
知识点:数学逻辑
方法一
判断剩余燃料是否大于等于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);
}
}
查看7道真题和解析