问题描述
小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) {
int m=x*x+y*y;
double r=Math.sqrt(Double.valueOf(m));
if((int)Math.floor(r)>=11){
return 0;
}
int num=(int) Math.ceil(r);
return 11-num;
}
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(9, 7) == 0);
}
}