zoukankan      html  css  js  c++  java
  • [学习笔记]约数&欧拉函数

    约数

    一.概念

      约数,又称因数。整数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为素数

  • 相关阅读:
    跨数据库操作
    Windows 服务
    Linq To DataTable
    嵌入式软件应用程序开发框架浅见
    31.获取当前系统时间
    30 System类
    29. StringBuilder
    28. string类中方法练习
    27 string类中常用的方法列表
    26.String类(1)
  • 原文地址:https://www.cnblogs.com/clockwhite/p/12039044.html
Copyright © 2011-2022 走看看