题目描述

输入两个正整数n和k,求与n互质的第k个正整数。

输入输出格式

输入格式:

 

仅一行,为两个正整数n(≤10^6)和k(≤10^8)。

 

输出格式:

 

一个正整数,表示与n互质的第k个正整数。

 

输入输出样例

输入样例#1:
10 5
输出样例#1:
11
#include<cstdio>

int a[1000006];
int gcd(int x,int y)
{
    if(y==0)return x;
    else return gcd(y,x%y);
}
int main()
{
    int n,k,num=0;
    scanf("%d%d",&n,&k);
    a[0]=n-1;
    for(int i=1;i<n;++i)
        if(gcd(i,n)==1)a[++num]=i;
    printf("%d\n",(k-1)/num*n+a[k%num]);
    return 0;
}

 

相关文章:

  • 2021-05-16
  • 2021-06-11
  • 2022-12-23
  • 2021-12-07
  • 2022-01-25
  • 2021-05-17
  • 2021-07-31
  • 2021-08-21
猜你喜欢
  • 2021-12-30
  • 2021-12-21
  • 2021-06-22
  • 2022-12-23
  • 2022-03-03
  • 2021-11-27
  • 2021-12-24
相关资源
相似解决方案