赞
踩
可逆素数是指一个素数的各位数字顺序倒过来构成的数依然是素数。
- #include <bits/stdc++.h>
- using namespace std;
-
- int fanzhuan(int a) //翻转数字
- {
- return ((a / 1000) % 10) * 1
- + ((a / 100) % 10) * 10
- + ((a / 10) % 10) * 100
- + ((a / 1) % 10) * 1000;
- }
-
- int main()
- {
- int i, j;
- char number[10000] = {0}; //将数组里的所有值都初始化为0
-
- for(i = 2; i < 100 + 1; i++)
- {
- while(number[i]){ //当number[i]=1时就让i++,减少时间消耗。
- i++;
- }
- for(j = i * i; j < 10000; j += i){ //平方的数都不是素数,将不是素数的都标位1;
- number[j] = 1;
- }
- }
-
- for(i = 1000; i < 10000; i++){
- if(!number[i] && !number[fanzhuan(i)]){ //这里为了判断逆反和正的都为素数。
- printf("%d\n", i); //返回素数答案
- }
- }
- return 0;
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。