6.1.8 蓝桥杯数学之欧拉函数&欧拉降幂
引言
在编程竞赛中,欧拉函数和欧拉降幂是解决一系列数论问题的关键工具。欧拉函数用于衡量与某个正整数互质的数的数量,而欧拉降幂则利用欧拉函数来简化大幂次运算。本文将探讨这两个概念及其在蓝桥杯等编程竞赛中的应用。
欧拉函数 (Euler's Totient Function)
欧拉函数 ϕ(n) 表示小于或等于 n 的正整数中与 n 互质的数的数量。
计算公式
欧拉函数可以通过以下公式计算:
其中,p1,p2,…,pk 是 n 的所有不同的素因子。
实现
在 C++ 中,可以通过以下方式实现欧拉函数:
#include <iostream>
using namespace std;
int eulerTotient(int n) {
int result = n;
for (int p = 2; p * p <= n; ++p) {
if (n % p == 0) {
while (n % p == 0)
n /= p;
result -= result / p;