题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=762

直接给代码好了,容斥原理具体看《组合数学》

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;vector<int> a;    //存储n所有质因子 //不爆int情况下,大概最多10个左右
int b[1010];void getfac(int x)
{for(int i=2;i*i<=x;i++)if(x%i==0){a.push_back(i);while(x%i==0)x/=i;}if(x>1) a.push_back(x);
}
int cal(int x)    //由容斥原理计算1~x中有多少与n互质的自然数
{int g=0,ret=x;b[++g]=1;//由以下的二重for循环可以做到枚举组合,共2^(a.size())个组合 for(int i=0;i<a.size();i++){int t=g;for(int j=1;j<=g;j++)b[++t]=-b[j]*a[i],ret+=x/b[t];g=t;}return ret;
}
int work(int n,int k)    //二分查找
{int l=0,r=2e9;        //cal(l)<k,cal(r)>=kwhile(r-l>1)        //当r-l=1时,结束循环,此时cal(r)=k
    {int mid=l+(r-l)/2;if(cal(mid)<k) l=mid;else r=mid;}return r;
}int main()
{int n,k;while(cin>>n>>k){a.clear();getfac(n);printf("%d\n",work(n,k));}
}

转载于:https://www.cnblogs.com/Just--Do--It/p/6395959.html

nyoj 762:第k个互质数相关推荐

  1. NYOJ 762 第k个互质数(二分 + 容斥)

    第k个互质数 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 两个数的a,b的gcd为1,即a,b互质,现在给你一个数m,你知道与它互质的第k个数是多少吗?与m互质的数按 ...

  2. NYOJ 678 最小K个数之和

    最小K个数之和 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描述 输入n个整数,输出其中最小的K个数之和.例如输入4,5,1,1,6,2,7,3,3这9个数字,当k=4,则 ...

  3. (寻找第K小的数amp;amp;寻找第K小的数的和)

    这一篇博客以一些OJ上的题目为载体,讲一下寻找第K小的数的方法 方法一: 先将数据排列好,然后,然后return a[k]或者将前K个数加起来 方法二: 基于高速排序.如,一次高速排序将某一个数放到了 ...

  4. 牛客练习赛44 C 小y的质数 (数论,容斥定理)

    链接:https://ac.nowcoder.com/acm/contest/634/C 来源:牛客网 题目描述 给出一个区间[L,R],求出[L,R]中孪生质数有多少对. 由于这是一个区间筛质数的模 ...

  5. python使用numba库实现gpu加速

    Numba是一个针对Python的开源JIT编译器,由Anaconda公司主导开发,可以对Python原生代码进行CPU和GPU加速.Numba对NumPy数组和函数非常友好. 使用Numba非常方便 ...

  6. GB_T28181-2016.pdf

    国标28181-2016版本检测,由于文件过大,而且博客不支持上传文件,需要GB28181-2016协议文档和公安一所检测文档的可以私信我,QQ:123011785 I C S1 3. 3 1 0 A ...

  7. nyoj 1261 音痴又音痴的LT(离散化+树状数组求K小数)

    题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=1261 解题思路:比较水的题,用离散化+树状数组求K小数即可,先用一次离线处理. #inc ...

  8. 2020CCPC绵阳K.Knowledge is Power(互质数分解)+两数互质规律总结

    题目链接:http://codeforces.com/gym/102822/problem/K 题意:将一个数字n分解成多个互质的数相加,求这些互质的数中最大值和最小值之间的差值,要求这个差值最小 两 ...

  9. NYOJ 30 Gone Fishing JAVA+解析

    Gone Fishing这道题目运用的多次折合成一次这种思想我首次见,我想的一个思路是,每次算一下鱼量和时间代价比,这个代码我没有敲,下面的代码是一位仁兄敲得,我研读了一下,做了一个注释,应该有利于后 ...

最新文章

  1. mysql快速迁移数据sql_使用Navicat Premium工具快速迁移数据方法 适用于mysql及mssql数据库...
  2. NSObject中的常用方法
  3. wxWidgets:更新到最新版本的 wxWidgets
  4. 【SSL】使用Keytool工具生成证书及签名完整步骤
  5. for(auto c:s)与for(auto c:s)
  6. Android模拟器启动3个g,android,模拟器_android 模拟器用3.18的内核无法启动,一直黑屏。,android,模拟器,内核 - phpStudy...
  7. linux解锁文件.user.ini,Linux下解决网页服务器权限和.user.ini无法删除的问题
  8. Oracle(三):视图、序列、同义词、索引
  9. mysql删除员工_MySQL误删数据救命指南:开发人员必收藏
  10. mysql sql参数化查询_mybatis的sql参数化查询
  11. LCD1602显示中文汉字
  12. 【MapReuce】读取本地美国疫情数据存储结果到MySQL
  13. 计步算法 睡眠 心率 学习 PPG传感器(转))
  14. LeetCode 1429. First Unique Number
  15. 矢量分析 关于∇一些矢量恒等式速记法
  16. Chrome浏览器显示“Adobe flash player已过期”问题之解决
  17. 机器学习——从线性回归到逻辑回归【附详细推导和代码】
  18. 多大的带宽才叫大带宽服务器,大带宽服务器有什么优势。
  19. 程序员学金融-日本(2)- 高负债风险
  20. this与supper

热门文章

  1. Python-EEG工具库MNE中文教程(3)-MNE中数据结构Epoch及其用法简介
  2. 马斯克突然抢购7千多万股推特,狂撒30亿一夜成最大股东,今日发推“大笑”...
  3. M1芯片成功运行Linux,终端一行代码启动安装,也能一键删除卸载
  4. 花式云毕业:《我的世界》建大学,日本机器人替身领证 | 网友:搞点阳间的东西...
  5. 这群“未来零售之星” 收到了一份意义非凡的新年大礼
  6. 被乐高AI“照妖镜”一照,发现你的本体原来是人偶
  7. 谷歌自动重建了完整果蝇大脑神经图:40万亿像素,可在线交互,用了数千块TPU...
  8. 1.内存优化(一)内存泄漏
  9. python全栈开发笔记--------条件语句
  10. 购华为第1书,写书评赢大奖