问题描述
小E正在训练场进行射击练习,靶有10个环,靶心位于坐标(0, 0)。每个环对应不同的得分,靶心内(半径为1)得10分,依次向外的每个环分数减少1分。若射击点在某个半径为i的圆内,则得11-i分。如果射击点超出所有的环,则得0分。
解题思路
-
计算射击点到靶心的距离:使用欧几里得距离公式
sqrt(x^2 + y^2)来计算射击点(x, y)到靶心(0, 0)的距离。 -
确定得分:根据距离判断射击点在哪个环内,从而确定得分。具体来说:
- 如果距离小于等于1,得10分。
- 如果距离大于1且小于等于2,得9分。
- 以此类推,直到距离大于10,得0分。
关键步骤
- 计算距离:使用
Math.sqrt(x * x + y * y)计算射击点到靶心的距离。 - 判断得分:使用一系列
if-else语句根据距离判断得分。
测试样例
solution(1, 0)应该返回10。solution(1, 1)应该返回9。solution(0, 5)应该返回6。solution(3, 4)应该返回6。
总结
- 距离计算:使用欧几里得距离公式
sqrt(x^2 + y^2)。 - 得分判断:根据距离使用
if-else语句判断得分。