问题 F: 超超的自闭意思

时间限制: 1 Sec  内存限制: 128 MB
提交: 80  解决: 10
[提交] [状态] [命题人:jsu_admin]

题目描述

质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数。
回文数定义为在正整数中,从左到右,从右到左读都相同的数字。(没有前导零的十进制)

现在 z(n) 表示不大于n的质数个数,h(n)表示不大于n的回文数个数。
给定两个数b, a。求最大n,满足b * z(n) ≤ a * h(n)。

输入

第一行包含一个整数T,表示有T组数据, T <= 10
每组数据包含两个整数b, a, 如题所述。
b,a < 10^4 , 1 / 42 <=b /a <= 42

 

输出

如果存在这样的n,则打印出来。如果不存在这样的n ,输出 “No”

样例输入 Copy

2
1 1
4 6

样例输出 Copy

40
16

我们可以估算出最大的 n,当 a=1,b=10000 的时候,打表出来我们发现只会到达 2*1e6,所以我们可以从 1-2*1e6 开始判断,判断到新的满足要求的 n 就更新,但是 我们每次单独判断一个数是不是素数很费时间,会超时,所以我们用素筛打一个表节 约时间,然后判断一个数是不是回文也是根据那个数的位数来的,所以不必担心,然 后就是直接暴力判断

 #include<stdio.h>
#include<vector>
#include<cstring>
#include<cmath>
using namespace std;
int cnt = ;
const int MAXN = ;
int prime[MAXN];//第i个素数
bool is_pri[MAXN+];//is_pri[i]表示i是素数
//返回n以内素数的个数
int sieve(int n){
int p=;
for(int i=;i<=n;i++)is_pri[i]=true;
is_pri[]=is_pri[]=false;
for(int i=;i<=n;i++){
if(is_pri[i]){
prime[++p]=i;
for(int j=*i;j<=n;j+=i)is_pri[j]=false;
}
}
return p;
}
//回文数
int palindrome(int a,int x)
{
int t;
do
{
t=x%;
a=a*+t;
x=x/;
}
while(x>);
return a;
} int huiwen(int n)
{
int a,x,c,i;
// while(scanf("%d",&n)&&n!=0)
// {
c=;
for(i=; i<=n; i++)
{
a=;
x=i;
a=palindrome(a,x);
if(a==i) c++;
}
// printf("%d\n",c);
// }
return c;
} bool isPrime(int num)
{
if(num == )
return true;
int tmp = sqrt(num);
for(int i=;i<=tmp;i++)
{
if(num%i == )
{
return false;
}
}
return true;
}
bool isHuiwen(int x)
{
int newed,t,n;
// while(scanf("%d",&x)!=EOF)
//{
newed=;
n=x;
do
{
newed=newed*+x%;
x/=;
}while(x>);
if(n==newed)
return true;
else
return false;
// }
}
int dp[];
int dp2[]; void dabiao(){
dp[] = ;
dp[] = -;
dp2[] = ;
for(int i = ;i<*1e6+;i++)
{
dp[i] += dp[i-]+isPrime(i);
dp2[i] += dp2[i-]+isHuiwen(i);
}
}
int main()
{
int t;
int b , a;
dabiao();
scanf("%d",&t); for(int i = ;i < t;i++)
{
// cnt = 0;
int sum = ;
scanf("%d%d",&b,&a);
for(int j = ;j<*1e6+;j++){
/// vector<int> prime = Prime(j);
// cnt = prime.size();
if(a*dp[j]<=b*dp2[j])//b*Prime(n)<=a*huiwen(n)
sum = j; }
if(sum)
printf("%d\n",sum);
else
printf("No");
}
}
 

问题 F: 超超的自闭意思的更多相关文章

  1. 问题 L: 超超的中等意思

    问题 L: 超超的中等意思 时间限制: 1 Sec  内存限制: 128 MB提交: 366  解决: 27[提交] [状态] [命题人:jsu_admin] 题目描述 已知p,q,k和一个难搞得多项 ...

  2. 利用树莓派来安装opencv从而来调动摄像头工作(没有坑,超超自己试过)

    超超最近参加了学校里一位特别厉害的老师讲的课(两天,我就从一个小白然后了解了树莓派以及Arduino这些我之前都没有了解过的东西,由于结课的需要,我们需要自己设计一个创意以及完成作品)所以才有了这篇文 ...

  3. MySQL 主从复制与读写分离 (超详细图文并茂小白闭着眼睛都会做)

    MySQL 主从复制与读写分离 1.什么是读写分离 2.为什么要读写分离 3.什么时候要读写分离 4.主从复制与读写分离 5.mysql支持的复制类型 6.主从复制的工作过程 7.MySQL主从复制延 ...

  4. 超超超简单的bfs——POJ-1915

    Knight Moves Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 26102   Accepted: 12305 De ...

  5. 超超超简单的bfs——POJ-3278

    Catch That Cow Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 89836   Accepted: 28175 ...

  6. GitHub和Git超超超详细使用教程

    GitHub的简单使用第一步 创建GitHub账号1. 打开GitHub官网.2. 点击绿色按钮Sign up for GitHub,填写用户名,邮件地址和密码.注意: 用户名只能包含字母和" ...

  7. 入门级:GitHub和Git超超超详细使用教程!

    GitHub和Git入门 考虑到大家以前可能对版本控制工具和Linux命令行工具都不了解,我写了一个简单的博客来让大家学会入门使用方法. GitHub的简单使用 第一步 创建GitHub账号 1. 打 ...

  8. Github+阿超运算

    感谢自己寒假能够稍稍做一点努力. Github个人页面<构建之法阅读笔记二可见>: https://github.com/Heartxy8990 申请教程: http://jingyan. ...

  9. F#周报2019年第1期

    新闻 介绍versionsof.net InfoQ正在寻找F#社区的声音 使用F#开发端对端的实际应用 UnoPlatform上的F# Elmish 视频及幻灯片 事件溯源DIY02--事件,事件存储 ...

随机推荐

  1. 基于flask的可视化动漫分析网站【python入门必学】

    课程设计项目名称:基于flask的可视化动漫分析网站,如果你在学习Python的过程中,往往因为没有好的教程或者没人指导从而导致自己容易放弃,为此我建了个Python交流.裙 :一久武其而而流一思(数 ...

  2. 【GDOI 2016 Day1】疯狂动物城

    题目 分析 注意注意:码农题一道,打之前做好心理准备. 对于操作1.2,修改或查询x到y的路径,显然树链剖分. 对于操作2,我们将x到y的路径分为x到lca(x,y)和lca(x,y)到y两部分. 对 ...

  3. java伪代码读后感

    愚公,在这位名家身上,浓缩了项目的组织者,团队经理,编程人员,技术分析师等众多角色的优秀素质.原始需求的产生“惩山北之塞,出入之迁”项目沟通的基本方式“聚室而谋之”项目的目标“毕力平险,指通豫南,达于 ...

  4. POJ 3280 Cheapest Palindrome ( 区间DP && 经典模型 )

    题意 : 给出一个由 n 中字母组成的长度为 m 的串,给出 n 种字母添加和删除花费的代价,求让给出的串变成回文串的代价. 分析 :  原始模型 ==> 题意和本题差不多,有添和删但是并无代价 ...

  5. Acvitivi网关(十一)

    1排他网关 1.1 什么是排他网关 排他网关(也叫异或(XOR)网关,或叫基于数据的排他网关),用来在流程中实现决策. 当流程执行到这个网关,所有分支都会判断条件是否为 true,如果为 true 则 ...

  6. CG-CTF | 综合题

    开场就是一个js混淆,直接丢到console里面 然后根据tip查头: 看到这个tip,一开始还以为要考注入了,用访问历史来进行注入,后来发现是我高估这题了,,,:

  7. Android-Studio:Cannot reload AVD list

    Android-Studio:Cannot reload AVD list 今天用Android-Studio时点击"RUN"后出现如下错误,特此记录一下解决方案. Cannot ...

  8. 转: Github上关于iOS的各种开源项目集合

    https://blog.csdn.net/jiashaoying/article/details/79079500 下拉刷新 EGOTableViewPullRefresh - 最早的下拉刷新控件. ...

  9. 十七、jenkins运行robotframework脚本,配置自动发送邮件

    一.配置系统管理-系统设置: A.系统管理--系统设置--Jenkins Location-系统管理员邮件地址:配置管理员邮箱全称(qq,163等都可以) B.配置管理员邮箱属性: 1.输入smtp服 ...

  10. memocached基础操作

    cmd->telnet方式链接(控制面板-启动该功能)telenet +ip +(端口号) memcahed 只有 string类型的 整个数据全部都是存在内存里面的 连接数 内存的大小 失效时 ...