欧拉函数

欧拉函数是小于n的正整数中与n互质的数的数目(φ(1)=1)。(例如φ(8)=4,因为1,3,5,7均和8互质。)
通式:

其中p1, p2……pn为x的所有质因数,x是不为0的整数。
质因数:质因数(素因数或质因子)在数论里是指能整除给定正整数的质数。

int ouler(int n)
{int number = 1, i;for(i=2; i*i <= n; i++){if(n%i == 0){n =n/ i;number *= (i-1);while(n%i == 0){n /= i;number *= i;}}}if(n > 1)number *= (n-1);return number;
}

欧拉定理

若n,a为正整数,且n,a互质,则:

降幂

ab≡{ab%φ(n)(&VeryThinSpace;mod&VeryThinSpace;n)n,a互质ab(&VeryThinSpace;mod&VeryThinSpace;n)b&lt;φ(n)ab%φ(n)+φ(n)(&VeryThinSpace;mod&VeryThinSpace;n)b≥φ(n)a^b\equiv \left\{ \begin{aligned} a^{b\%\varphi(n)}(\bmod\ n)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ n,a互质\\ a^b (\bmod\ n)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ b&lt;\varphi(n)\\ a^{b\%\varphi(n)+\varphi(n)}(\bmod\ n)\ \ \ \ \ \ \ \ b\geq\varphi(n) \end{aligned} \right.ab≡⎩⎪⎪⎨⎪⎪⎧​ab%φ(n)(mod n)                  n,a互质ab(mod n)                        b<φ(n)ab%φ(n)+φ(n)(mod n)        b≥φ(n)​

#include <stdio.h>
#include <string.h>
int main()
{long long int a,p;long long int b=0;char s[100];printf("底数 指数 模数\n");scanf("%lld %s %lld",&a,s,&p);int phi=ouler(p),len=strlen(s);printf("phi(%lld)=%d\n",p,phi);for(int i=0; i<len; i++)b=(b*10+s[i]-'0')%phi;int result=quickpow(a,b+phi,p);printf("%d",result%p);
}
int quickpow(long long int a,long long int b,long long int p)
{long long int r=1,base=a;while(b){if(b%2)r=r*base%p;base=base*base%p;b=b/2;}return r;
}
int ouler(int n)
{int result=n;for(int i=2; i*i<=n; i++){if(n%i==0){n=n/i;result=result*(i-1)/i;while(n%i==0){n=n/i;}}}if(n>1)result=result*(n-1)/n;return result;
}

欧拉函数,欧拉公式,降幂公式相关推荐

  1. Codeforces Round #538 (Div. 2) F. Please, another Queries on Array? 线段树 + 欧拉函数

    传送门 文章目录 题意: 思路: 题意: 给你一个序列aaa,你需要实现两种操作: (1)(1)(1) 将[l,r][l,r][l,r]的aia_iai​都乘rrr. (2)(2)(2) 求ϕ(∏i= ...

  2. 欧拉函数定义及其性质

    参考:这里 前言 这是笔者第一次写博客,挑选了一些笔者认为比较有意思且简单的欧拉函数的性质,希望各位看完的同时也自己动手证明一下,会对学习欧拉函数有很大的帮助. 一.定义 在1~n中与n互质的数的个数 ...

  3. 欧拉φ函数和欧拉降幂公式

    欧拉φ函数:在数论中,对正整数n,欧拉函数是小于或等于n的正整数中与n互质的数的数目.此函数以其首名研究者欧拉命名,它又称为φ函数.欧拉商数等.φ(1)=1 C++实现: int GetEuler(i ...

  4. 欧拉函数公式的证明以及欧拉定理的简单应用(附带证明)

    相信大家都已经了解了欧拉函数的定义 在1~N当中,与N互质的数的个数被叫做欧拉函数,简写成Φ(N): 在算数基本定理中我们可以把一个数N分解成所有质因子的乘积的形式,记作 N = p1^a1 * p2 ...

  5. 欧拉函数公式及其证明

    以下转自 百度文库 炒鸡好QAQ 欧拉函数 : 欧拉函数是数论中很重要的一个函数,欧拉函数是指:对于一个正整数 n ,小于 n 且和 n 互质的正整数(包括 1)的个数,记作 φ(n) . 完全余数集 ...

  6. 【算法】欧拉函数公式证明

    定义 欧拉函数 φ ( n ) \varphi(n) φ(n)表示小于等于 n n n且与 n n n互质 ( g c d ( x , n ) = 1 ) (gcd(x,n)=1) (gcd(x,n) ...

  7. 欧拉函数+欧拉定理+拓展欧拉定理(欧拉降幂)

    目录 欧拉函数 欧拉定理 拓展欧拉定理(欧拉降幂) 欧拉函数 在数论中,有正整数n,欧拉函数是小于n的正整数中与n互质的数的数目. 它的通式如下: φ(n)=n*(1-1/p1)*(1-1/p2)*( ...

  8. 小于n与n互质的所有数的和(欧拉函数+快速幂)

    欧拉函数的含义:对于正整数n, φ(n)的值表示 小于n并且与n互质 的整数 个数. 欧拉函数公式:φ(x)=x*(1-1/p1)(1-1/p2)(1-1/p3)(1-1/p4)--(1-1/pn), ...

  9. 数学--数论-数论函数-欧拉函数

    **欧拉函数定义 对正整数n,欧拉函数是少于或等于n的数中与n互质的数的数目.例如euler(8)=4,因为1,3,5,7均和8互质. Euler函数表达通式: 其中p1,p2--pn为x的所有素因数 ...

  10. 欧拉函数定理及其性质

    欧拉函数就是指:给定一个n,求得1到n中与n互质的数的个数 再介绍欧拉通项前,首先得介绍唯一分解定理 那么求一个数的欧拉值的公式为: φ(n)=n * (1-1/P1) * (1-1/P2) * - ...

最新文章

  1. jfinal使用render之后还会继续往下执行代码吗
  2. 极光推送maven与代码,无需修改,粘贴即用
  3. 《走遍中国》珍藏版(六)
  4. linux系统启动自动启动,linux系统下的自动启动
  5. python3 slice
  6. 卡尔曼滤波 -- 从推导到应用(二)
  7. rest 怎么发送html,docusignapi - 是否可以使用REST API中的HTML创建Docusign模板? - 堆栈内存溢出...
  8. ARMv8体系结构基础05:比较和跳转指令
  9. Android viewpager 嵌套 viewpager滑动 点击事件冲突解决方案
  10. win11菜单栏的推荐项目怎么取消 windows11取消推荐项目的设置方法
  11. Linux 串口termios.h分析
  12. 辞职专心造火箭,贝佐斯能追上马斯克吗?
  13. linux 编译chromium,chromium(linux环境)指定版本下载和编译教程
  14. C++中各种文件后缀名的区别
  15. 海外众筹:kickstarter众筹创建成功项目分享
  16. 张果老能是鸿蒙时期一蝙蝠,感谢唐明皇,为我们弄清了张果老原来是只白蝙蝠...
  17. 大数据开发复习Spark篇
  18. 计算机专业英语学术能力培养任伟课后题答案,北京航空航天大学任伟教授学术讲座在我院成功举办...
  19. Wi-Fi基带芯片和Wi-Fi无线网卡设计方案
  20. May 7th, 10:00-11:00 am 1303, Schrodinger Maps (III) by Ioan Bejenaru

热门文章

  1. 【ArcGIS】安装ArcGISDesktop10.6报错A service pack is required on this oprating system.
  2. 新一代手机声音传音器THA-2开始发售,大家快来体验吧!
  3. [BUUCTF]PWN——[BJDCTF 2nd]snake_dyn
  4. 游戏攻略资料收集,制作技巧经验分享-游戏编辑2
  5. Python列表排序_revered逆序_max_min_sum
  6. 一.机器人概率学笔记_定位
  7. Java SE 基础知识~流程控制
  8. 传奇服务器人物技能怎么修改,传奇服务端上线0级技能,直接设置3级技能的设置方法...
  9. 金华职业技术学院计算机网络技术考试,金华职业技术学院2016年提前招生计算机应用技术专业测评方案...
  10. Java实现多文件生成压缩包下载