/*
BJFU fudq的等式
http://101.200.220.237/contest/19/problem/118/
数论 勒让德定理 二分答案
*/
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <cmath>
#include <vector>
#include <queue>
//#define test
using namespace std;
const int Nmax=;
const long long INF=100000000000005LL;
long long p[Nmax];
long long times[Nmax];
int cnt;
long long n,x,y; long long Legendre(long long n,long long p,long long y)
{
long long ans=0LL;
while(n>)
{
ans+=n/p;
if(ans>y)
return y+1LL;
n/=p;
}
return ans;
} int is(long long n)
{
for(int i=;i<=cnt;i++)
{
if(Legendre(n,p[i],times[i]*y)<times[i]*y)
return ;
}
return ;
}
long long get()
{
long long n=0LL;
long long l=1LL,r=INF;
while(l<r)
{
long long mid=(l+r)>>;
long long m=is(mid);
//printf("l:%lld r:%lld mid:%lld x:%lld y:%lld num:%lld\n",l,r,mid,x,y,m);
if(!m)
l=mid+;
else
r=mid-;
}
if(n==0LL && !is(r))
n=r+;
else if(n==0LL && is(r))
n=r;
return n; }
//long long get()
//{
//long long m=-1LL;
//for(int i=1;i<=cnt;i++)
//{
//m=max(m,get(p[i],times[i]*y));
//}
//return m;
//}
int main()
{
#ifdef test
#endif
//freopen("test.in","r",stdin);
while(scanf("%lld%lld",&x,&y)==)
{
cnt=;
for(int i=;i*i<=x;i++)
{
if(x%i==)
{
p[++cnt]=i;
times[cnt]=;
while(x%i==)
{
x/=i;
times[cnt]++;
}
}
}
if(x!=)
{
p[++cnt]=x;
times[cnt]=;
} if(cnt==)
{
//printf("error\n");
printf("0\n");
continue;
}
printf("%lld\n",get());
}
return ;
}

BJFU fudq的等式的更多相关文章

  1. BJFU 1440 fudq的ACM

    矩阵快速幂 #include<cstdio> #include<algorithm> using namespace std; ; const int INF =1e9; ; ...

  2. NOIP200806 火柴棒等式【B005】

    [B005]火柴棒等式[难度B]———————————————————————————————————————————————————————————— [题目要求] 给你n根火柴棍,你可以拼出多少个 ...

  3. BZOJ2118墨墨的等式[数论 最短路建模]

    2118: 墨墨的等式 Time Limit: 10 Sec  Memory Limit: 259 MBSubmit: 1317  Solved: 504[Submit][Status][Discus ...

  4. 【bzoj2118】 墨墨的等式

    http://www.lydsy.com/JudgeOnline/problem.php?id=2118 (题目链接) 题意 给出${B}$的取值范围${[Bmin,Bmax]}$,求方程${a_{1 ...

  5. Bzoj2118 墨墨的等式

    Time Limit: 10 Sec  Memory Limit: 259 MBSubmit: 1488  Solved: 578 Description 墨墨突然对等式很感兴趣,他正在研究a1x1+ ...

  6. NOIP2008提高组火柴棒等式(模拟)——yhx

    题目描述 给你n根火柴棍,你可以拼出多少个形如“A+B=C”的等式?等式中的A.B.C是用火柴棍拼出的整数(若该数非零,则最高位不能是0).用火柴棍拼数字0-9的拼法如图所示: 注意: 加号与等号各自 ...

  7. 数论+spfa算法 bzoj 2118 墨墨的等式

    2118: 墨墨的等式 Time Limit: 10 Sec  Memory Limit: 259 MBSubmit: 1283  Solved: 496 Description 墨墨突然对等式很感兴 ...

  8. TYVJ P1012 火柴棒等式 Label:枚举

    背景 NOIP2008年提高组第二题 描述 给你n根火柴棍,你可以拼出多少个形如“A+B=C”的等式?等式中的A.B.C是用火柴棍拼出的整数(若该数非零,则最高位不能是0).用火柴棍拼数字0-9的拼法 ...

  9. noip2008 火柴棒等式

    P1149 火柴棒等式 1.9K通过 3.7K提交 题目提供者该用户不存在 标签搜索/枚举模拟2008NOIp提高组 难度普及- 提交该题 讨论 题解 记录   题目描述 给你n根火柴棍,你可以拼出多 ...

随机推荐

  1. iOS 8 模糊视图(毛玻璃效果)的简单实现UIVisualEffectView

    在须要模糊的UIView上.加入一个UIVisualEffectView对象就可以. 效果例如以下图: 代码例如以下: UIImageView *imageview = [[UIImageViewal ...

  2. js自定义回调函数

      JavaScript允许开发人员像传递任何类型的数据一样传递函数,也就是说,函数也是一种数据类型,通过typeof就知道. 例子1: var CallbackFun = function(){ t ...

  3. 函数和指针 C++

    一.用函数指针变量调用函数. 指针变量也可以指向一个函数,一个函数在编译时被分配给一个入口地址.这个函数入口地址就称为函数的指针.可以用一个指针变量指向函数,然后通过该指针变量调用此函数. 定义指向函 ...

  4. [Hacker] 端口大全

    一 .端口大全 端口:0 服务:Reserved 说明:通常用于分析操作系统.这一方法能够工作是因为在一些系统中“0”是无效端口,当你试图使用通常的闭合端口连接它时将产生不同的结果.一种典型的扫描,使 ...

  5. Java常见面试题02-方法重写和方法重载的区别?方法重载能改变返回值类型吗?

    方法重写和方法重载的区别?方法重载能改变返回值类型吗?       A:Override方法重写和Overload方法重载的区别? Overload是否可以改变返回值类型?可以 方法重写 •  子类中 ...

  6. cloudfoundry service broker 制作

    实验室这边需要制作service broker.从今天开始将精力投入其中.

  7. Mysql数据类型(一)

    介绍 存储引擎决定了表的类型,而表内存放的数据也要有不同的类型,每种数据类型都有自己的宽度,但宽度是可选的 详细参考链接:http://www.runoob.com/mysql/mysql-data- ...

  8. Java基础之多线程简述

    首先,要辨析进程与线程的概念: 进程是程序执行的过程,它持有资源和线程,相对于程序本身而言具有动态性. 线程是系统中最小的执行单元,同一个进程中可能有多个线程,它们共享该进程持有的资源.线程的通信也称 ...

  9. 关于各浏览器下Hack的写法

    下面是我收集有关于各浏览器下Hack的写法: 1.Firefox @-moz-document url-prefix() { .selector { property: value; } } 上面是仅 ...

  10. 如何在Hexo中实现自适应响应式相册功能

    用最清晰简洁的方法整合一个响应式相册 效果 技术选型 由于我选用的主题使用了fancyBox作为图片弹出展示的框架,查看后表示很不错,能满足需要 http://fancyapps.com/fancyb ...