洛谷p2667超级质数[2017年6月计划数论05]

嘒彼小星 嘒彼小星     2022-09-04     620

关键词:

P2667 超级质数

题目背景

背景就是描述,描述就是背景。。。。。。

题目描述

一个质数如果从个位开始,依次去掉一位数字,两位数字,三位数字。。。。。。直到只剩一位数字中间所有剩下的数都是质数,则称该质数为一个超级质数。例如:2333是一个质数,因为2333,233,23,2都是质数,所以2333是一个四位超级素数。请你写一个程序,给定一个整数X,求大小小于X的超级质数。

输入输出格式

输入格式:

一行,给出一个整数X(1<=X<=100000000).

输出格式:

第一行,一个整数k,表示X以内超级质数的个数.

第2至k+1行,每行一个整数,输出所有X以内的超级质数,这些数按从小到大的顺序排列。

输入输出样例

输入样例#1:
100
输出样例#1:
13
2
3
5
7
23
29
31
37
53
59
71
73
79

说明

对于30%的数据,X<=1000。

对于100%的数据,X<=100000000。

 

 

最后一道数学水题了。

 1 #include <bits/stdc++.h>
 2 const int INF = 0x3f3f3f3f;
 3 inline void read(long long &x)
 4 {
 5     x = 0;char ch = getchar();char c = ch;
 6     while(ch < 0 || ch > 9)c = ch, ch = getchar();
 7     while(ch <= 9 && ch >= 0)x = x * 10 + ch - 0,ch = getchar();
 8     if(c == -)x = -x;
 9 }
10 
11 long long x;
12 
13 long long a;
14 
15 bool IsPrime(long long k)
16 {
17     long long a = sqrt(k);
18     for(int i = 2;i <= a;i ++)
19     {
20         if(k % i == 0)
21         {
22             return false;
23         }
24     }
25     return true;
26 }
27 
28 long long prime[1000];
29 
30 long long num[10];
31 int head,tail;
32 int main()
33 {
34     read(x);
35     if(x < 2){printf("0");return 0;}
36     if(x < 3){printf("1
2");return 0;}
37     if(x < 5){printf("2
2
3");return 0;}
38     if(x < 7){printf("3
2
3
5");return 0;}
39     if(x < 23){printf("4
2
3
5
7");return 0;}
40     head = 1;
41     tail = 4;
42     prime[1] = 2;
43     prime[2] = 3;
44     prime[3] = 5;
45     prime[4] = 7;
46     num[0] = 1;
47     num[1] = 3;
48     num[2] = 7;
49     num[3] = 9;
50     while(head <= tail)
51     {
52         for(int i = 0;i <= 3;i ++)
53         {
54             long long tmp = prime[head] * 10 + num[i];
55             if(tmp <= x && IsPrime(tmp))
56             {
57                 prime[++tail] = tmp;
58             }
59             if(tmp > x)goto L1;
60         }
61         head ++;
62     }
63 L1:
64     printf("%d
", tail);
65     for(int i = 1;i <= tail;i ++)
66     {
67         printf("%d
", prime[i]);
68     }
69     return 0;
70 }

 

洛谷p1062数列[2017年6月计划数论03]

P1062数列题目描述给定一个正整数k(3≤k≤15),把所有k的方幂及所有有限个互不相等的k的方幂之和构成一个递增的序列,例如,当k=3时,这个序列是:1,3,4,9,10,12,13,…(该序列实际上就是:3^0,3^1,3^0+3^1,3^2,3^0+3^... 查看详情

洛谷p1978集合[2017年6月计划数论08]

P1978集合题目描述集合是数学中的一个概念,用通俗的话来讲就是:一大堆数在一起就构成了集合。集合有如下的特性:•无序性:任一个集合中,每个元素的地位都是相同的,元素之间是无序的。•互异性:一个集合中,... 查看详情

洛谷p2723丑数humblenumbers[2017年6月计划数论07]

P2723丑数HumbleNumbers题目背景对于一给定的素数集合S={p1,p2,...,pK},考虑一个正整数集合,该集合中任一元素的质因数全部属于S。这个正整数集合包括,p1、p1*p2、p1*p1、p1*p2*p3...(还有其它)。该集合被称为S集合的“丑数集合”... 查看详情

洛谷p1890gcd区间[2017年6月计划数论09]

P1890gcd区间题目描述给定一行n个正整数a[1]..a[n]。m次询问,每次询问给定一个区间[L,R],输出a[L]..a[R]的最大公因数。输入输出格式输入格式:第一行两个整数n,m。第二行n个整数表示a[1]..a[n]。以下m行,每行2个整数表示询问区间... 查看详情

洛谷p1147连续自然数和[2017年6月计划数论01]

P1147连续自然数和题目描述对一个给定的自然数M,求出所有的连续的自然数段,这些连续的自然数段中的全部数之和为M。例子:1998+1999+2000+2001+2002=10000,所以从1998到2002的一个自然数段为M=10000的一个解。输入输出格式输入格式... 查看详情

洛谷p1573栈的操作[2017年6月计划数论11]

P1573栈的操作题目描述现在有四个栈,其中前三个为空,第四个栈从栈顶到栈底分别为1,2,3,…,n。每一个栈只支持一种操作:弹出并压入。它指的是把其中一个栈A的栈顶元素x弹出,并马上压入任意一个栈B中。但是这样的操作... 查看详情

洛谷p1029最大公约数和最小公倍数问题[2017年6月计划数论02]

P1029最大公约数和最小公倍数问题题目描述输入二个正整数x0,y0(2<=x0<100000,2<=y0<=1000000),求出满足下列条件的P,Q的个数条件:1.P,Q是正整数2.要求P,Q以x0为最大公约数,以y0为最小公倍数.试求:满足条件的所有可能的两个正整数... 查看详情

洛谷p1965转圈游戏[2013noip提高组d1t1][2017年6月计划数论04]

P1965转圈游戏题目描述n个小伙伴(编号从0到n-1)围坐一圈玩游戏。按照顺时针方向给n个位置编号,从0到n-1。最初,第0号小伙伴在第0号位置,第1号小伙伴在第1号位置,……,依此类推。游戏规则如下:每一轮第0号位置... 查看详情

洛谷p3459[poi2007]meg-megalopolis[2017年6月计划树上问题02]

[POI2007]MEG-Megalopolis题目描述Byteotiahasbeeneventuallytouchedbyglobalisation,andsohasByteasarthePostman,whoonceroamedthecountrylanesamidstsleepyhamletsandwhonowdashesdownthemotorways.Butitisthosestroll 查看详情

洛谷p2826[usaco08nov]光开关lightswitching[2017年6月计划线段树02]

P2826[USACO08NOV]光开关LightSwitching题目描述FarmerJohntriestokeepthecowssharpbylettingthemplaywithintellectualtoys.Oneofthelargertoysisthelightsinthebarn.EachoftheN(2<=N<=100,000)cowstallsconveniently 查看详情

洛谷p2073送花[2017年6月计划线段树01]

P2073送花题目背景小明准备给小红送一束花,以表达他对小红的爱意。他在花店看中了一些花,准备用它们包成花束。题目描述这些花都很漂亮,每朵花有一个美丽值W,价格为C。小明一开始有一个空的花束,他不断地向里面添... 查看详情

洛谷p1368均分纸牌(加强版)[2017年6月计划]

P1368均分纸牌(加强版)题目描述有N堆纸牌,编号分别为1,2,…,N。每堆上有若干张,纸牌总数必为N的倍数。可以在任一堆上取1张纸牌,然后移动。移牌规则为:在编号为1堆上取的纸牌,能移到编号为2和N的堆上;在编号... 查看详情

洛谷p2835刻录光盘[2017年6月计划强连通分量02]

P2835刻录光盘题目描述在JSOI2005夏令营快要结束的时候,很多营员提出来要把整个夏令营期间的资料刻录成一张光盘给大家,以便大家回去后继续学习。组委会觉得这个主意不错!可是组委会一时没有足够的空光盘,没法保证每... 查看详情

38天刷完挑战程序设计竞赛&数论概论计划

现在是2017年12月6日22:03:36,在做数论概论的chapter6线性方程与最大公因数的习题时,粗略地翻了一下挑战程序设计竞赛,感觉相见恨晚;遂决定38天刷完挑战程序设计竞赛和数论概论。时间:2017年12月7日00:00:00--2018年1月15日00:00:00... 查看详情

洛谷p1774最接近神的人_noi导刊2010提高(02)[2017年6月计划线段树03]

P1774最接近神的人_NOI导刊2010提高(02)题目描述破解了符文之语,小FF开启了通往地下的道路。当他走到最底层时,发现正前方有一扇巨石门,门上雕刻着一幅古代人进行某种活动的图案。而石门上方用古代文写着“神的殿堂... 查看详情

2017年7月计划

6月的最后一天,我完成了六月计划,打卡 7月07日~14日将在郑州河南省实验度过7月15日~22日将在济南清北学堂度过7月25日~8月2日将在日照一中度过8月05日~11日将在青岛二中度过于是。。。定下如下计划: 1、动态规划百题... 查看详情

洛谷p2347砝码称重[2017年4月计划动态规划01]

P2347砝码称重题目描述设有1g、2g、3g、5g、10g、20g的砝码各若干枚(其总重<=1000),输入输出格式输入格式:输入方式:a1a2a3a4a5a6(表示1g砝码有a1个,2g砝码有a2个,…,20g砝码有a6个)输出格式:输出方式:Total=N(N表示用... 查看详情

洛谷p1832a+bproblem(再升级)[2017年4月计划动态规划03]

P1832A+BProblem(再升级)题目背景·题目名称是吸引你点进来的·实际上该题还是很水的题目描述·1+1=?显然是2·a+b=?1001回看不谢·哥德巴赫猜想似乎已呈泛滥趋势·以上纯属个人吐槽·给定一个正整数n... 查看详情