[学习笔记]约数&欧拉函数

时间:2019-12-14
本文章向大家介绍[学习笔记]约数&欧拉函数,主要包括[学习笔记]约数&欧拉函数使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

约数

一.概念

  约数,又称因数。整数a除以整数b(b≠0) 除得的商正好是整数而没有余数,我们就说a能被b整除,或b能整除a。a称为b的倍数,b称为a的约数。

二.性质

  1.整数唯一分解

      1)定义

    对于任意一个正整数N,都有 N=p1c1*p2c2...pmcm,其中p为质数。

      2)正约数集合

   ={p1b1*p2b2*...pmbm|0<=bi<=ci}

   3)正约数的和

   f(n)=(p1^0+p1^1+p1^2+…p1^a1)(p2^0+p2^1+p2^2+…p2^a2)…(pk^0+pk^1+pk^2+…pk^ak)

   4)正约数的个数

   =(c1+1)(c2+1)...(cm+1)

三.算法

  1.正约数集合

    1)试除法。一个一个试看能否被整除。推论:N的约数个数最多为2√N个

  2.1~N中所有数字的正约数

    1)试除

    2)基本推论:i一定是i的倍数的约数

for(int i=1;i<=n;++i){
    for(int j=1;j<=n/i;++j){
        fac[i*j].push_back(i);
    }
} 
View Code

     时间复杂度NlnN

    3)例题1 反质数 题解

     例题2 余数之和 题解

欧拉函数

一.概念

  对正整数n,欧拉函数是小于或等于n的正整数中与n互质的数的数目(因此φ(1)=1)。此函数以其首名研究者欧拉命名(Euler's totient function)

二.性质

  1)求欧拉函数   

    (其中p1, p2……pn为x的所有质因数,x是不为0的整数)

  2)推导欧拉函数

    对于素数p

    当p|n时 φ(p*n)=φ(n)*p

    否则 φ(p*n)=φ(n)*(p-1)

  3)φ(p)=p-1 p为素数

原文地址:https://www.cnblogs.com/clockwhite/p/12039044.html