//半年前做的,如今回顾一下,还是有所收货的,数的唯一分解,.简单题。

#include<iostream>
#include<cstring>
using namespace std;
int a[1000001];int p[1000000]; //用a来筛去m的唯一分解后的质因子及其倍数,流下就是与其互质的数。
int main()
{
int m,k;
while(cin>>m>>k)
{
memset(a,0,sizeof(a));
memset(p,0,sizeof(p));
int mm=m;
for(int i=2;i<=mm;i++) //此处mm即可
{
if(mm%i==0)
{
for(int j=i;j<=m;j+=i) //筛去
a[j]=1;
while(mm%i==0)mm/=i; //除掉
}
}
int t=1; //t记录有多少个,
for(int i=1;i<=m;i++)
{
if(a[i]==0)p[t++]=i; //p[i]记录第i个互质数(1--m)
}
t--; //1--m内有t个,那么m--2m,2m--3m....必然也有t个!每层相差m。
if(k%t==0)cout<<p[t]+m*(k/t-1)<<endl;//考虑特殊位子。
else cout<<m*(k/t)+p[k%t]<<endl;
}
return 0;
}

最新文章

  1. jenkins插件 查看job修改历史
  2. qsort函数用法
  3. List&lt;IPoint&gt; to IPointCollection to IPolygon
  4. SQL 编译与重编译
  5. html5中input新增type值的使用
  6. 解决 git extensions 每次提交需要输入用户名和密码
  7. Ambari中添加新服务
  8. 想要写出高性能sql语句,你得记住这些……
  9. 第九节:从源码的角度分析MVC中的一些特性及其用法
  10. (二)校园信息通微信小程序从后台获取首页的数据笔记
  11. cygwin vim can&#39;t write .viminfo
  12. 阻塞队列(BlockingQueue)
  13. ssh隧道的妙用
  14. 【Java】 剑指offer(21) 调整数组顺序使奇数位于偶数前面
  15. springBoot 全局异常捕捉
  16. Modeless对话框如何响应快捷键
  17. C# WinCE项目 VS2008 单例窗体实现
  18. oracle 导入数据报600错误
  19. telnet命令
  20. Mybatis学习笔记8 - resultMap自定义结果集映射规则

热门文章

  1. COGS 1743. 忠诚
  2. 嵌入式ARM开发板学习方法步骤
  3. Java异常归纳
  4. regular expression matching DP
  5. PHP02 PHPStrom2018.X与WAMPServer3.0.6的集成
  6. 【牛客练习赛 25】A 因数个数和
  7. 洛谷——P1627 [CQOI2009]中位数
  8. Installing MySQL 5.7.23 on CentOS 7
  9. ixcache的蜜汁突发故障
  10. debian swoole环境