小E的射击训练
问题描述
小E正在训练场进行射击练习,靶有10个环,靶心位于坐标(0, 0)
。每个环对应不同的得分,靶心内(半径为1)得10分,依次向外的每个环分数减少1分。若射击点在某个半径为i
的圆内,则得11-i
分。如果射击点超出所有的环,则得0分。
根据给定的射击坐标(x, y)
,请计算小E的射击得分。
测试样例
样例1:
输入:
x = 1, y = 0
输出:10
样例2:
输入:
x = 1, y = 1
输出:9
样例3:
输入:
x = 0, y = 5
输出:6
样例4:
输入:
x = 3, y = 4
输出:6
方法一:数学
public class Main {
public static int solution(int x, int y) {
// write code here
return Math.max(0, 11 - (int)Math.ceil(Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2))));
}
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);
}
}