超素数
2014年第一题超素数
题意:
超素数就是这样的数,比如2333,2是素数,23是素数,233是素数,2333是素数,找出所有的四位超素数。每行输出六个,数之间空格隔开。
思路:
先用埃氏筛选获取素数表,然后遍历每个四位数判断是否为素数。
代码:
1 /*
2 2014_1_超素数
3 */
4
5 #include <stdio.h>
6 #include <string.h>
7 #include <math.h>
8 #include <stdlib.h>
9 #include <time.h>
10
11 #define maxn 10001
12 // 若pri[i]=0表示i为素数
13 int pri[maxn] = {0};
14
15 // 素数表的获取,埃氏筛选
16 void findPrime() {
17 int i, j;
18 // 1 不为素数
19 for(i=2; i<maxn; ++i) {
20 if(!pri[i]) { // 为素数
21 for(j=i+i; j<maxn; j+=i) {
22 pri[j] = 1; // 筛选倍数
23 }
24 }
25 }
26 }
27
28 int main() {
29 int i, pnum=0;
30 findPrime(); // 获取素数表
31 for(i=2000; i<10000; ++i) { // 挨个遍历
32 int n1=i/1000, n2=i/100,n3=i/10;
33 // 判断是否为超素数
34 if(!pri[n1] && !pri[n2] && !pri[n3] && !pri[i]) {
35 printf("%d", i);
36 if(pnum%6 != 5) {
37 printf(" ");
38 } else {
39 printf("\n");
40 }
41 pnum++;
42 }
43 }
44
45 return 0;
46 } 相关推荐
CloudXli 2020-06-11
baike 2020-01-04
hiKirin 2013-03-09
BITSKY 2019-03-29
liangds 2018-11-30
浪漫老猫 2018-11-27
lundongcai 2018-11-22
zzpdljd 2018-11-20
assastor 2018-05-02
cairencong 2018-01-23
sharkandshark 2017-04-14
wlpython 2018-09-27
crqzcbk 2011-08-02
heshanking 2011-04-12
BitTigerio 2018-05-19
BitTigerio 2018-05-13
BitTigerio 2018-04-06
BitTigerio 2017-12-04