当前位置: 首页 > article >正文

欧拉函数杂记

定义

φ ( n ) \varphi (n) φ(n)表示 [ 1 , n ] [1,n] [1,n]中与 n n n互质的数的个数。

性质

φ ( p ) = p − 1 ,   p ∈ P \varphi (p)=p-1,\ p\in \mathbb {P} φ(p)=p1, pP

φ ( n ) = n ∏ i = 1 m p i − 1 p i \varphi (n)=n\prod_{i=1}^{m} \frac{p_i-1}{p_i} φ(n)=ni=1mpipi1

线性筛(质数与欧拉函数)

void init()
{
	memset(isp,1,sizeof(isp));
	isp[1]=0;
	phi[1]=1;
	for(int i=2;i<N;i++)
	{
		if(isp[i])
		{
			p[++np]=i;
			phi[i]=i-1;
		}
		for(int j=1;j<=np&&i*p[j]<N;j++)
		{
			ll x=i*p[j];
			isp[x]=0;
			if(i%p[j]!=0)phi[x]=phi[i]*(p[j]-1);
			else 
			{
				phi[x]=phi[i]*p[j];
				break;
			}
		}
	}
}

大众的方法

在一大坨式子中,枚举公因数 d d d

例子

∑ i = 1 n g c d ( i , n ) \sum _{i=1}^{n}gcd(i,n) i=1ngcd(i,n)

洛谷P2303 Longge的问题

考虑枚举公因数 d d d,因为显然的 1 ≤ d ≤ n 1 \le d \le n 1dn

那么原式转化为
∑ d ∣ n d ∑ i = 1 n [ g c d ( i , n ) = d ] \sum_{d|n}d\sum_{i=1}^{n}[gcd(i,n)=d] dndi=1n[gcd(i,n)=d]

艾弗森括号内除以 d d d
∑ d ∣ n d ∑ i = 1 n d [ g c d ( i , n d ) = 1 ] \sum_{d|n}d\sum_{i=1}^{\frac{n}{d}}\left[gcd\left(i,\frac {n}{d}\right)=1\right] dndi=1dn[gcd(i,dn)=1]

欧拉函数往里面一代
∑ d ∣ n d ⋅ φ ( n d ) \sum_{d|n}d \cdot \varphi \left(\frac{n}{d}\right) dndφ(dn)

在这里插入图片描述


http://www.kler.cn/a/546360.html

相关文章:

  • Python----PyQt开发(PyQt高级:手搓一个简单的记事本)
  • Easy系列PLC 线性变换功能块(模拟量相关功能块汇总)
  • Go语言协程Goroutine高级用法(一)
  • React源码解读
  • Linux中安装open-webui报sqlite版本低的解决办法
  • MySQL无法连接到本地localhost的解决办法2024.11.8
  • 《刚刚问世》系列初窥篇-Java+Playwright自动化测试-23- 操作鼠标拖拽 - 番外篇(详细教程)
  • 报名丨Computer useVoice Agent :使用 TEN 搭建你的 Mac Assistant
  • error: conflicting types for ‘SSL_SESSION_get_master_key’
  • jmeter--参数化
  • vue2和vue3储存组件
  • 学习笔记-人脸识别相关编程基础
  • 14、deepseek视觉大模型Janus Pro本地部署及实战
  • WSL Ubuntu 安装 CUDA 教程
  • 【NLP251】命名实体识别常用模块(基于Transformer分类)
  • 从驾驶员到智能驾驶:汽车智能化进程中的控制与仿真技术
  • 【JavaScript】《JavaScript高级程序设计 (第4版) 》笔记-Chapter12-BOM
  • HBASE面试技巧
  • 洛谷 acwing刷题 有关图的存储形式和djstra算法的例题
  • C语言进阶习题(4结构体)【1】通讯录的实现