#P1944. 半质数
半质数
题目描述
上完体育课,小T同学去校园超市买了瓶水,喝完后便前往机房上编程课。创新实验班的Q教练曾培养出世界冠军金斌大神,是小T和小伙伴们的偶像。小T从小学起就在金斌学长开发的在线评测系统上提交程序,想起初学编程时记不住continue等单词,Q教练总会不厌其烦地拼给他听。
升入初三后小T许久没写程序、没见Q教练了,这节编程课上,Q教练提出了寻找给定范围内半质数的问题。质数(素数)指在大于1的自然数中,只能被1和本身整除的数(也可定义为只有1和本身两个因数的数)。而半质数的定义是:若一个正整数N恰好能分解成两个质数的乘积,那么它就是半质数。例如,4=2×2、15=3×5都是半质数;12不是半质数,其质因子分解式为12=2×2×3,分解出的质数有3个,不满足“恰好两个质数乘积”的条件。
请编程找出[S, E]范围内的半质数个数。
输入格式
输入数据仅有一行,包含两个用空格隔开的正整数S和E,其中2≤S≤E<5000000。
输出格式
输出数据仅有一行,包含一个整数,表示在S到E之间共有多少个半质数。
样例输入
4 26
样例输出
10
样例解释
在4到26之间的半质数依次为4、6、9、10、14、15、21、22、25、26,一共统计出10个半质数,所以该样例的输出为10。
数据范围
- 30%的数据满足:2≤S≤E<500
- 60%的数据满足:2≤S≤E<50000
- 100%的数据满足:2≤S≤E<5000000
相关
在以下作业中: