CDN加速镜像 | 设为首页 | 加入收藏夹
当前位置: 首页 资源下载 源码下载 Windows编程 其他小程序

文件名称:Euler_fuction

  • 所属分类:
  • 标签属性:
  • 上传时间:
    2012-11-16
  • 文件大小:
    1.42kb
  • 已下载:
    0次
  • 提 供 者:
  • 相关连接:
  • 下载说明:
    别用迅雷下载,失败请重下,重下不扣分!

介绍说明--下载内容来自于网络,使用问题请自行百度

  Euler函数:

m = p1^r1 * p2^r2 * …… * pn^rn ai >= 1 , 1 <= i <= n

Euler函数:

定义:phi(m) 表示小于等于m并且与m互质的正整数的个数。

      phi(m) = p1^(r1-1)*(p1-1) * p2^(r2-1)*(p2-1) * …… * pn^(rn-1)*(pn-1)

         = m*(1 - 1/p1)*(1 - 1/p2)*……*(1 - 1/pn)

         = p1^(r1-1)*p2^(r2-1)* …… * pn^(rn-1)*phi(p1*p2*……*pn)

定理:若(a , m) = 1 则有 a^phi(m) = 1 (mod m) 即a^phi(m) - 1 整出m



在实际代码中可以用类似素数筛法求出

  for (i = 1 i < MAXN i++)

    phi[i] = i

  for (i = 2 i < MAXN i++)

    if (phi[i] == i)

    {

      for (j = i j < MAXN j += i)

      {

        phi[j] /= i

        phi[j] *= i - 1

      }

    }



容斥原理:定义phi(p) 为比p小的与p互素的数的个数

设n的素因子有p1, p2, p3, … pk

包含p1, p2…的个数为n/p1, n/p2…

包含p1*p2, p2*p3…的个数为n/(p1*p2)…

phi(n) = n - sigm_[i = 1](n/pi) + sigm_[i!=j](n/(pi*pj)) - …… +- n/(p1*p2……pk)

   = n*(1 - 1/p1)*(1 - 1/p2)*……*(1 - 1/pk)

-err
(系统自动生成,下载前可以参看下载内容)

下载文件列表

Euler函数.cpp

相关说明

  • 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
  • 搜珍网是交换下载平台,只提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。更多...
  • 本站已设置防盗链,请勿用迅雷、QQ旋风等下载软件下载资源,下载后用WinRAR最新版进行解压.
  • 如果您发现内容无法下载,请稍后再次尝试;或换浏览器;或者到消费记录里找到下载记录反馈给我们.
  • 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
  • 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.

相关评论

暂无评论内容.

发表评论

*快速评论: 推荐 一般 有密码 和说明不符 不是源码或资料 文件不全 不能解压 纯粹是垃圾
*内  容:
*验 证 码:
搜珍网 www.dssz.com