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。

最后一道数学水题了。

 #include <bits/stdc++.h>
const int INF = 0x3f3f3f3f;
inline void read(long long &x)
{
x = ;char ch = getchar();char c = ch;
while(ch < '' || ch > '')c = ch, ch = getchar();
while(ch <= '' && ch >= '')x = x * + ch - '',ch = getchar();
if(c == '-')x = -x;
} long long x; long long a; bool IsPrime(long long k)
{
long long a = sqrt(k);
for(int i = ;i <= a;i ++)
{
if(k % i == )
{
return false;
}
}
return true;
} long long prime[]; long long num[];
int head,tail;
int main()
{
read(x);
if(x < ){printf("");return ;}
if(x < ){printf("1\n2");return ;}
if(x < ){printf("2\n2\n3");return ;}
if(x < ){printf("3\n2\n3\n5");return ;}
if(x < ){printf("4\n2\n3\n5\n7");return ;}
head = ;
tail = ;
prime[] = ;
prime[] = ;
prime[] = ;
prime[] = ;
num[] = ;
num[] = ;
num[] = ;
num[] = ;
while(head <= tail)
{
for(int i = ;i <= ;i ++)
{
long long tmp = prime[head] * + num[i];
if(tmp <= x && IsPrime(tmp))
{
prime[++tail] = tmp;
}
if(tmp > x)goto L1;
}
head ++;
}
L1:
printf("%d\n", tail);
for(int i = ;i <= tail;i ++)
{
printf("%d\n", prime[i]);
}
return ;
}

最新文章

  1. cmake 出现问题
  2. 利用MyEclipse自动生成POJO和配置文件
  3. 深入理解java虚拟机【内存溢出实例】
  4. coreData 深入理解4 --总结 (线程安全与同步--iOS5 前后对比)
  5. Gulp.js - 简单、直观的自动化项目构建工具
  6. PLsql设置
  7. Oracle 11gR2 create init script
  8. Unity3D Asset stored 已下载的位置
  9. hdu1573:数论,线性同余方程组
  10. My97DatePicker使用的问题
  11. VC2008下使用OpenSSL 1.0.0g(免编译)
  12. UVa 10360 - Rat Attack
  13. Do you know how many stuff inside your Google Account?
  14. 高通msm8994手动提升性能脚本
  15. 主键非自增列 EF 插入数据库引起的 ID 列不能为 NULL 的错误
  16. (转)C#.NET WINFORM应用程序中控制应用程序只启动一次
  17. 通配符的匹配很全面, 但无法找到元素 &#39;tx:annotation-driven&#39; 的声明
  18. SQL SERVER C#数据库操作类(连接、执行SQL)
  19. java获取视频播第一帧
  20. asp 写文件

热门文章

  1. Thinkphp5 RCE总结
  2. CDATA标签用法
  3. swoole是如何实现任务定时自动化调度的?
  4. Android之相关术语
  5. bean的使用
  6. 将UBB编码转成标准的HTML代码
  7. vue报错 error: data.push is not a function
  8. intellij idea中去除@Autowired注入对象带来的下划线提示
  9. Leetcode201. Bitwise AND of Numbers Range数字范围按位与
  10. vue题目