牛牛特别喜欢数字7,他想知道如果一个数字n乘以7是否是一个素数。
给定一个数字n,如果该数乘以7是一个素数,返回"YES",否则,返回"NO"。
题解:模拟即可。最快可以到O(1),做法当然是打表。。
对于题目中的范围,只需要遍历判断即可,遍历的时候,只需要到 根号n(包含根号n)就可以了。
当然也可以使用埃拉托斯特尼(Eratosthenes)筛法或者是线性筛法——欧拉筛法等。。
时间复杂度:
空间复杂度:
参考代码如下:
class Solution { public: /** * 给定一个数字n,如果该数乘以7是一个素数,返回"YES",否则,返回"NO"。 * @param n int整型 代表题目中的n * @return string字符串 */ string solve(int n) { // write code here int num = n * 7; for (int i = 2; i <= int(sqrt(num)); i++) { if (n % i == 0) { return "NO"; } } return "YES"; } };