赞
踩
7-12 可逆素数
分数 15
全屏浏览题目
切换布局
作者 ty
单位 湖南工程学院
素数是指除了1和本身之外再没有因子的正整数。1不是素数,2是素数,13也是素数。
可逆素数是指: 一个素数将其各位数字的顺序倒过来构成的反序数也是素数。 比如17是素数,倒过来的71也是素数,那么17是可逆素数;2也是可逆素数。
请计算某个区间内的可逆素数的个数。
从键盘输入2个正整数(这里保证区间的合理性,读者无需考虑),输出该区间内的可逆素数的个数。
1001 9999
204
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
- #include <stdio.h>
- #include <math.h>
-
- // 判断一个数是否为素数
- int isPrime(int n){
- if (n <= 1) return 0;
- for(int i = 2; i <= sqrt(n); i++){
- if(n % i == 0) return 0;
- }
- return 1;
- }
-
- // 将一个整数逆序
- int toReverse(int n){
- int temp = 0;
- while(n != 0){
- temp = temp * 10 + n % 10;
- n /= 10;
- }
- return temp;
- }
-
- int main() {
- int a, b, count = 0;
- scanf("%d %d", &a, &b);
- for(int i = a; i <= b; i++){
- if(isPrime(i) && isPrime(toReverse(i))){ // 如果i是素数并且它的逆序也是素数,那么它就是可逆素数
- count++;
- //printf("%d\n", i); // 输出可逆素数 (调试)
- }
- }
- printf("%d\n", count); // 输出可逆素数的个数
- return 0;
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。