小E正在训练场进行射击练习,靶有10个环,靶心位于坐标(0, 0)。每个环对应不同的得分,靶心内(半径为1)得10分,依次向外的每个环分数减少1分。若射击点在某个半径为i的圆内,则得11-i分。如果射击点超出所有的环,则得0分。
根据给定的射击坐标(x, y),请计算小E的射击得分。
代码:public class Main { public static int solution(int x, int y) { // 计算射击点到靶心的距离 double distance = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2));
// 根据距离判断得分
if (distance <= 1) {
return 10;
} else if (distance <= 2) {
return 9;
} else if (distance <= 3) {
return 8;
} else if (distance <= 4) {
return 7;
} else if (distance <= 5) {
return 6;
} else if (distance <= 6) {
return 5;
} else if (distance <= 7) {
return 4;
} else if (distance <= 8) {
return 3;
} else if (distance <= 9) {
return 2;
} else if (distance <= 10) {
return 1;
} else {
return 0;
}
}
public static void main(String[] args) {
System.out.println(solution(1, 0) == 10);
System.out.println(solution(1, 1) == 9);
System.out.println(solution(0, 5) == 6);
System.out.println(solution(3, 4) == 6);
}
}