完美偶数
问题描述
小C定义了一个“完美偶数”。一个正整数x被认为是完美偶数需要满足以下两个条件:
- x是偶数;
- x的值在区间[l,r] 之间。
现在,小C有一个长度为n的数组a,她想知道在这个数组中有多少个完美偶数。
思路提示
完美偶数是偶数,且在[l,r]之间。那么就出现三个问题。
- 对于一个给定的数组怎么判断是偶数?
- num%2==0,正整数除以2的余数为0即为偶数
- 在[l,r]区间内呢?
- l<=num<=r,即可满足
- 怎么统计有多少个完美偶数?
- 初始化计数器为0,出现满足条件的数,计数器+1.最后返回计数器的结果
最后只需在遍历数组的时候加入他们,就可以实现了。
代码实现
小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分
- 以此类推
代码实现
这个代码有点多。那么还有没有别的方法?
当然! 确定分数的时候可以使用一个循环来遍历每个环的半径,找到第一个满足条件的环,返回对应的得分。
代码实现方法2
而且题目也给出了对应的半径和分数的关系,自我认为使用这种方法比较好一点。
总结
最后我们总结一下,这里的两个题目,我认为也是比较相似的,比如,都需要遍历,然后遍历的同时加几个判断条件,条件满足即可。当然,这两个题目也是比较简单的题目,所以还有其他方法的话,也欢迎分享。
这些循环,条件判断在其他题目中也会见到很多。希望大家能掌握。
最后,大家如果在做题目的时候没有思路的话可以使用ai进行提示,以及代码解释,检查错误等等。