算法是关键,得出1-m内的互质数,然后类推计算即可。下面有详细说明。

#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;
}

BOJ 2773 第K个与m互质的数的更多相关文章

  1. poj2773求第K个与m互质的数

    //半年前做的,如今回顾一下,还是有所收货的,数的唯一分解,.简单题. #include<iostream> #include<cstring> using namespace ...

  2. 求N以内与N互质的数的和

    题目连接 /* 求所有小于N且与N不互质的数的和. 若:gcd(n,m)=1,那么gcd(n,n-m)=1; sum(n)=phi(n)*n/2; //sum(n)为小于n的所有与n互质的数的和 // ...

  3. 欧拉函数(小于或等于n的数中与n互质的数的数目)&& 欧拉函数线性筛法

    [欧拉函数] 在数论,对正整数n,欧拉函数是少于或等于n的数中与n互质的数的数目.此函数以其首名研究者欧拉命名,它又称为Euler’s totient function.φ函数.欧拉商数等. 例如φ( ...

  4. 一个简单的公式——求小于N且与N互质的数的和

    首先看一个简单的东西. 若$gcd(i,n)=1$,则有$gcd(n-i,n)=1$ 于是在小于$n$且与$n$互质的数中,$i$与$n-i$总是成对存在,且相加等于$n$. 考虑$i=n-i$的特殊 ...

  5. 求小于n且与n互质的数的个数

    int eu(int n){ int ans=n; for(int i=2;i*i<=n;i++) { if(n%i==0) { ans=ans/i*(i-1); while(n%i==0)n/ ...

  6. UVA12493 - Stars(求1-N与N互质的个数)欧拉函数

    Sample Input 3 4 5 18 36 360 2147483647 Sample Output 1 1 2 3 6 48 1073741823 题目链接:https://uva.onlin ...

  7. 洛谷P1592 互质

    题目描述 输入两个正整数n和k,求与n互质的第k个正整数. 输入输出格式 输入格式: 仅一行,为两个正整数n(≤10^6)和k(≤10^8). 输出格式: 一个正整数,表示与n互质的第k个正整数. 由 ...

  8. 【hdu4135】【hdu2841】【hdu1695】一类通过容斥定理求区间互质的方法

    [HDU4135]Co-prime 题意 给出三个整数N,A,B.问在区间[A,B]内,与N互质的数的个数.其中N<=10^9,A,B<=10^15. 分析 容斥定理的模板题.可以通过容斥 ...

  9. P1592 互质

    题意:输入两个正整数n和k,求与n互质的第k个正整数. $n≤10^6,k≤10^8$ 可以枚举出互质的数,居然发现,有循环节.... 比如10 与其互质的1  3  7  9  11  13  17 ...

随机推荐

  1. Java生成固定长度的随机字符串(以大小写字母和数字)

    package org.jimmy.autosearch2019.test; import java.util.ArrayList; import java.util.Random; /** * @a ...

  2. Bootstrap响应式布局(1)

    <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...

  3. django第六天(模板相关,过滤器和标记)

    django第6天 DTL简介 django template language django模板语言 语法: filter{{}} tag{% %} 简单变量的使用 视图函数可以通过两种方式将变量船 ...

  4. django第四天(路由别名,django2.x新特性和自定义转换器)

    django第四天 路由别名 1.路由别名: 给路由路径命名一个名字 url(r'^login/$',views.login,name = 'login') 2.为什么要用路由别名 ①当路由路径过长时 ...

  5. Objective-C 正则表达式使用(1)

    学习了一下OC的正则表达式备忘一下 使用正则表达式的步骤: 创建一个一个正则表达式对象:定义规则. 利用正则表达式对象测试,相应的字符串. NSString *userName = @"12 ...

  6. LeetCode(153) Find Minimum in Rotated Sorted Array

    题目 Total Accepted: 65121 Total Submissions: 190974 Difficulty: Medium Suppose a sorted array is rota ...

  7. 每周一题 3n+1问题

    3n+1问题 #include<iostream> #include<math.h> #include<map> using namespace std; map& ...

  8. 从士兵到程序员再到 SOHO 程序员 (三) - 游击战与阻力

    从士兵到程序员再到 SOHO 程序员 (三) - 游击战与阻力 原文地址:http://blog.huhao.name/blog/2014/03/01/become-a-freelancer-3/ 作 ...

  9. Windows 安装 composer

    在 composer.phar 同级目录下新建文件 composer.bat : C:\bin>echo @php "%~dp0composer.phar" %*>co ...

  10. Leetcode 337.大家结舍III

    打家劫舍III 在上次打劫完一条街道之后和一圈房屋后,小偷又发现了一个新的可行窃的地区.这个地区只有一个入口,我们称之为"根".除了"根"之外,每栋房子有且只有 ...