B3840 题解
思路分析
这道题的重点就在如何判断一个数是不是质数。
方法1
枚举所有可能为
可以得出,这样的时间复杂度是
方法2
容易发现,
但是对于可能
代码实现
#include <iostream>
bool isPrime(int x) { // 根据方法2判断是否为质数
if (x < 2) return false;
for (int i = 2; i * i <= x; ++i)
if (x % i == 0) return false;
return true;
}
int main() {
int A, B, ans = 0; std::cin >> A >> B;
for (int i = A; i <= B; ++i) {
if (isPrime(i)) ans++;
}
std::cout << ans;
return 0;
}