完美偶数和小E的射击训练 | 豆包MarsCode AI刷题

79 阅读2分钟

完美偶数

问题描述

小C定义了一个“完美偶数”。一个正整数x被认为是完美偶数需要满足以下两个条件:

  • x是偶数;
  • x的值在区间[l,r] 之间。

现在,小C有一个长度为n的数组a,她想知道在这个数组中有多少个完美偶数。

思路提示

完美偶数是偶数,且在[l,r]之间。那么就出现三个问题。

  • 对于一个给定的数组怎么判断是偶数?
    • num%2==0,正整数除以2的余数为0即为偶数
  • 在[l,r]区间内呢?
    • l<=num<=r,即可满足
  • 怎么统计有多少个完美偶数?
    • 初始化计数器为0,出现满足条件的数,计数器+1.最后返回计数器的结果

最后只需在遍历数组的时候加入他们,就可以实现了。

代码实现

{D228D5B2-2029-48CB-B4B2-2998D7F40576}.png

小E的射击训练

问题描述

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

根据给定的射击坐标(x, y),请计算小E的射击得分。

思路提示

根据到靶心的距离判断得分

  • 怎么计算距离?
    • r^2=x^2+y^2
  • 有了距离,怎么给分?
    • r<1->10分
    • r<2->9分
    • 以此类推

代码实现

{E64E1E91-DCB8-4CEF-B965-5745A6086A6B}.png

这个代码有点多。那么还有没有别的方法?

当然! 确定分数的时候可以使用一个循环来遍历每个环的半径,找到第一个满足条件的环,返回对应的得分。

代码实现方法2

屏幕截图 2024-11-30 151733.png

而且题目也给出了对应的半径和分数的关系,自我认为使用这种方法比较好一点。

总结

最后我们总结一下,这里的两个题目,我认为也是比较相似的,比如,都需要遍历,然后遍历的同时加几个判断条件,条件满足即可。当然,这两个题目也是比较简单的题目,所以还有其他方法的话,也欢迎分享。

这些循环,条件判断在其他题目中也会见到很多。希望大家能掌握。

最后,大家如果在做题目的时候没有思路的话可以使用ai进行提示,以及代码解释,检查错误等等。