[GESP202306 二级] 找素数

GESP编程共123题,本题是整站第1368题,已经有人完成了本题,加油!

题目描述

小明刚刚学习了素数的概念:如果一个大于 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。

别灰心,再试一次!

真题解析

【题目大意】

统计整数A到B范围内的素数个数,数据范围不超过1000。

【考纲知识点】

多层分支/循环结构(二级)

【解题思路】

1. 枚举A到B,依次检查每个数是不是素数。

2. 用变量isPrime表示当前枚举的数n是否为素数,初始化为true,如果找到了除了1和n以外的因数,则把isPrime赋值为false。

3. 寻找n的因数时,只需要枚举2到根号n。因为如果n有一个大于根号n的因数k,那么就一定存在一个小于根号n的因数n/k。

4. 使用变量cnt记录素数的个数,最终输出即可。

【参考程序】

本站题目仅供学习,GESP版权归CCF所有,如有侵权请联系删除。站长陈老师QQ及微信:208234。