题目链接链接
import java.util.Scanner;
/**
* @Author 陈平安
* @Date 2022/5/1 14:16
* @PackageName:PACKAGE_NAME
* @ClassName: Main
* @Description: TODO
* @Version 1.0
*/
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int x = scanner.nextInt();//周几开始游泳
int n = scanner.nextInt();//要求游几天
int days = 0;//表示已经游了 几天
int sum = 0;//表示已经游的距离
for (int i = 0; i < n; i++) {//此处有话说,建议用for循环,我先前使用的是while循环,但是结果只有90分
//所以个人建议,使用for,因为while循环需要多增变量,最重要的就是每次到周六周日的时候,天数怎么++
//处理不好,可能一分都没有。
if (x != 6 && x != 7) {
sum += 250;
}
if (x == 7 ) {//周六不用管,没有符合周六的条件。天数自动加一,只有周日时候,满足x=1就行。
x = 1;
} else {
x++;
}
} System.out.println(sum);
}
}
以下是本人错误案例
//错误案例:import java.util.Scanner;
/**
* @Author 陈平安
* @Date 2022/5/1 14:16
* @PackageName:PACKAGE_NAME
* @ClassName: Main
* @Description: TODO
* @Version 1.0
*/
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
double a = scanner.nextDouble();//探测器距离a点的距离
double x = scanner.nextDouble();//探测器的辐射范围
double mile = 7;//原始状态下行走的距离
double sum = mile;//总共游泳的距离
//int i = 0;//游标
while (true) {
mile = mile * 0.98;
sum += mile;
if (a - x <= sum) {
sum -= mile;
mile /= 0.98;
break;
}
}
// System.out.println(sum);
// System.out.println((int) mile+1);
// mile = (int) mile+1;
//求出最后一步到达范围圈的距离
//求倒数第二步 的距离;
mile = mile * 0.98;
sum += mile;
if (sum >= x+a){
System.out.println("n");
return;
}
// System.out.println(sum);
mile = mile * 0.98;
sum += mile;
if (sum > x+a){
System.out.println("n");
//return;
}else {
System.out.println("y");
}
}
}
ending