问题 G: 超级素数(sprime)

时间限制: 1 Sec  内存限制: 64 MB
提交: 47  解决: 11
[提交][状态][讨论版]

题目描述

超级素数是指一个素数,每去掉后面一个数字,总能保证剩下的数为质数,例如:
373->37->3
这是一个长为3的超级素数。

输入

输入一个整数n (10≤n≤108)。

输出

从小到大输出所有小于等于n的超级素数,每个超级素数之间留一个空格。末尾也有一个空格

样例输入

10

样例输出

2 3 5 7 
【分析】通过找规律,发现所求素数中只可能出现1,2,3,5,7,9,而且1,9不能出现在首位,2,5只能出现在首位,然后就是BFS暴搜了。
#include <iostream>
#include <cstring>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <time.h>
#include <string>
#include <map>
#include <stack>
#include <vector>
#include <set>
#include <queue>
#define inf 0x3f3f3f3f
#define mod 1000000007
typedef long long ll;
using namespace std;
const int N=;
int n,dp[N],len;
int w[][];
int g[];
int b,c;
int a[]={,,,,};
set<int>p; bool charge(int x)
{
for(int j=;j<=sqrt(x);j++)
{
if(x%j==)return false;
}
return true;
}
void bfs()
{
queue<int>q;
q.push();q.push();q.push();q.push();
while(!q.empty())
{
int t=q.front(); p.insert(t);
q.pop();
for(int i=;i<;i++)
{
int k=t*+a[i];
if(charge(k)&&k<=n)
{ q.push(k);
}
}
}
} int main() {
memset(w,,sizeof(w));
cin>>n;
bfs();
for(set<int>::iterator it=p.begin();it!=p.end();it++)
{
cout<<*it<<" ";
}cout<<endl;
return ;
}
												

超级素数(sprime) (BFS)的更多相关文章

  1. 超级素数(sprime)

    超级素数(sprime) 题目描述 超级素数是指一个素数,每去掉后面一个数字,总能保证剩下的数为质数,例如:373->37->3这是一个长为3的超级素数. 输入 输入一个整数n (10≤n ...

  2. Prime Path(素数筛选+bfs)

    Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 9519   Accepted: 5458 Description The m ...

  3. 超级密码 hdu1226 bfs

    超级密码 Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Subm ...

  4. HDU 1180 诡异的楼梯(超级经典的bfs之一,需多回顾)

    传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1180 诡异的楼梯 Time Limit: 2000/1000 MS (Java/Others)     ...

  5. 素数路径Prime Path POJ-3126 素数,BFS

    题目链接:Prime Path 题目大意 从一个四位素数m开始,每次只允许变动一位数字使其变成另一个四位素数.求最终把m变成n所需的最少次数. 思路 BFS.搜索的时候,最低位为0,2,4,6,8可以 ...

  6. hdu 1226 超级密码(bfs+余数判重)

    题意:略过 分析:用m个数字组成一个能够被n整除的c进制数的最小值,实际上本题的关键就在于这个最小值上.  首先确定我们的思路是从小到大寻找.先查看一位数,即查看着m个数字是否能被n整除:若不能,就查 ...

  7. HDU-1226 超级密码 (BFS+剪枝)

    Problem Description Ignatius花了一个星期的时间终于找到了传说中的宝藏,宝藏被放在一个房间里,房间的门用密码锁起来了,在门旁边的墙上有一些关于密码的提示信息:密 码是一个C进 ...

  8. HDU 1175 连连看(超级经典的bfs之一)

    传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1175 连连看 Time Limit: 20000/10000 MS (Java/Others)     ...

  9. POJ - 3126 Prime Path 素数筛选+BFS

    Prime Path The ministers of the cabinet were quite upset by the message from the Chief of Security s ...

随机推荐

  1. [NOIP2018 TG D2T2]填数游戏

    题目大意:$NOIP2018\;TG\;D2T2$ 题解:在skip2004的博客基础上修改的,也是暴搜. 说明一下把vector改成数组并不可以通过此题,记录. 结论:在$m>n+1$时答案为 ...

  2. BZOJ4651/UOJ220 [Noi2016]网格

    本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000 作者博客:http://www.cnblogs.com/ljh2000-jump/ ...

  3. 原生ajax方法封装

    /** * @function ajax request * @fields ajaxName:请求名称,method:请求方法,headers:setRequestHeader自定义部分,url:接 ...

  4. JSONP以及Spring对象MappingJacksonValue的使用方式

    什么是JSONP?,以及Spring对象MappingJacksonValue的使用方式 原文: https://blog.csdn.net/weixin_38111957/article/detai ...

  5. [hdu 3652]数位dp解决数的倍数问题

    原以为很好的理解了数位dp,结果遇到一个新的问题还是不会分析,真的是要多积累啊. 解决13的倍数,可以根据当前余数来推,所以把当前余数记为一个状态就可以了. #include<bits/stdc ...

  6. SICAU-OJ: 三角关系

    三角关系 题意: 给出两个数n和k,统计(a,b,c)三元组满足(a+b)%k=0,(b+c)%k=0,(a+c)%k=0且1<=a,b,c<=n的数量. 题解: 由(a+b)%k=0,( ...

  7. ionic3自定义图标

    http://blog.csdn.net/qq993284758/article/details/78107412

  8. delegate, event - 里面涉及的参数类型必须完全一致,子类是不行的

    public void TestF() { Test += Fun; } public void Fun(Person p) { }  // 如 Person变成 SubPerson,则报错..pub ...

  9. ActiveMQ(4) ActiveMQ JDBC 持久化 Mysql 数据库

    ActiveMQ 消息持久化机制: ActiveMQ 消息的持久化机制有 JDBC.AMQ.KahaDB 和 LevelDB,其中本示例版本(5.15.2)默认机制为 KahaDB.无论哪种持久化机制 ...

  10. [04] css 选择器

    1.元素选择器 常见的html标签元素 h1 { color: red; } body { background: red; } 2.分组选择器 例如body和h2标签的字体颜色都是red,使用逗号将 ...