6.小E的射击训练

200 阅读1分钟

问题描述

小E正在训练场进行射击练习,靶有10个环,靶心位于坐标(0, 0)。每个环对应不同的得分,靶心内(半径为1)得10分,依次向外的每个环分数减少1分。若射击点在某个半径为i的圆内,则得11-i分。如果射击点超出所有的环,则得0分。

解题思路

  1. 计算射击点到靶心的距离:使用欧几里得距离公式 sqrt(x^2 + y^2) 来计算射击点 (x, y) 到靶心 (0, 0) 的距离。

  2. 确定得分:根据距离判断射击点在哪个环内,从而确定得分。具体来说:

    • 如果距离小于等于1,得10分。
    • 如果距离大于1且小于等于2,得9分。
    • 以此类推,直到距离大于10,得0分。

333.png

关键步骤

  1. 计算距离:使用 Math.sqrt(x * x + y * y) 计算射击点到靶心的距离。
  2. 判断得分:使用一系列 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 语句判断得分。