题目背景
对应的选择、判断题:https://ti.luogu.com.cn/problemset/1124
题目描述
小明刚刚学习了素数的概念:如果一个大于 1 的正整数,除了 1 和它自身外,不能被其他正整数整除,则这个正整数是素数。现在,小明想找到两个正整数 A 和 B 之间(包括 A 和 B)有多少个素数。
输入格式
输入只有一行两个正整数 A,B。约定 2≤A≤B≤1000。
输出格式
输出一行,包含一个整数 C,表示找到 C 个素数。
输入输出样例
输入 #1复制
2 10
输出 #1复制
4
输入 #2复制
98 100
输出 #2复制
0
说明/提示
【样例解释 1】
在 2 和 10 之间有 4 个素数,分别为:2、3、5、7。
代码实现:
cpp
#include <iostream>
using namespace std;
int main() {
int A, B, cnt = 0;
cin >> A >> B;
for (int i = A; i <= B; i++) {
bool isPrime = true;
if (i == 1) isPrime = false;
for (int j = 2; j * j <= i; j++) {
if (i % j == 0) {
isPrime = false;
break;
}
}
if (isPrime) cnt++;
}
cout << cnt << endl;
return 0;
}