首页 > 其他 > 详细

luogu P1592 互质

时间:2017-07-10 19:46:55      阅读:319      评论:0      收藏:0      [点我收藏+]

题目描述

输入两个正整数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;
}

 

luogu P1592 互质

原文:http://www.cnblogs.com/sssy/p/7147331.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!