Note -「因数的欧拉函数求和」
归档。
试证明:\(\sum \limits _{d | x} \varphi (d) = x\)
Lemma 1.
试证明:\(\sum \limits _{d | p^k} \varphi (d) = p ^k\),其中 \(p\) 为质数。
证明:显然,和 \(n\) 不互质的数一定含有 \(p\) 因子,而在 \([1, n]\) 中总共有 \(\lfloor \frac {n} {p} \rfloor = p ^{k - 1}\) 个含 \(p\) 因子的数,故可知 \(\varphi (p^k) = (p^k - p^{k - 1}), k > 0\)。特殊的,\(\varphi (1) = 1\)。
然后转化原式可得 \(\sum \limits _{i = 0} ^{k} \varphi (p ^i) = 1 + (p^1 - p^0) + (p^2 - p^1) + \dots + (p^k - p^{k - 1}) = p ^k\)。得证。
Lemma 2.
试证明:记 \(f (x) = \sum \limits _{d | x} \varphi (d)\),若 \(\gcd (m, n) = 1\),则 \(f(m n) = f(m)f(n)\)。即 \(f(n)\) 为积性函数。
证明:记 \(\mathbb{M'}\) 为 \(m\) 的因数集合,\(\mathbb{N'}\) 为 \(n\) 的因数集合。记两个集合大小分别为 \(a, b\)。
因为 \(m, n\) 互质,故 \(\mathbb{M'}\) 与 \(\mathbb{N'}\) 中没有相同元素,则 \(mn\) 的因数集合为 \(\{x y | x \in \mathbb{M'}, y \in \mathbb{N'}\}\)。
故:
f(mn) &= \varphi (x_1y_1) + \varphi (x_1y_2) + \dots + \varphi (x_{a}y_{1}) + \dots + \varphi (x_{a}y_{b})
\\
&= \sum _{i = 1} ^{a} \varphi (x_i) \times \sum _{j = 1} ^{b} \varphi (y_j)
\\
&= f(m)f(n)
\end {align}
\]
得证。
Prove.
将 \(n\) 质因数分解为 \(p_1 ^{k_1} p_2 ^{k_2} \dots p_m ^{k_m}\)。显然可由引理 1 知 \(f(p_i^{k_i}) = p_i ^{k_i}\)。
又因为 \(\gcd (p_i ^{k_i}, p_j ^{k_j}) = 1, i \neq j\),由引理 2 可得 \(f(p_i^{k_i} p_j^{k_j}) = f(p_i ^{k_i}) f(p_j ^{k_j}) = p_i^{k_i} p_j^{k_j}\)。
推广之,即得 \(f(n) = n\)。
Note -「因数的欧拉函数求和」的更多相关文章
- poj3090欧拉函数求和
E - (例题)欧拉函数求和 Crawling in process... Crawling failed Time Limit:1000MS Memory Limit:65536KB ...
- 【BZOJ4805】欧拉函数求和(杜教筛)
[BZOJ4805]欧拉函数求和(杜教筛) 题面 BZOJ 题解 好久没写过了 正好看见了顺手切一下 令\[S(n)=\sum_{i=1}^n\varphi(i)\] 设存在的某个积性函数\(g(x) ...
- BZOJ4805: 欧拉函数求和(杜教筛)
4805: 欧拉函数求和 Time Limit: 15 Sec Memory Limit: 256 MBSubmit: 614 Solved: 342[Submit][Status][Discus ...
- HDU2824-The Euler function-筛选法求欧拉函数+求和
欧拉函数: φ(n)=n*(1-1/p1)(1-1/p2)....(1-1/pk),其中p1.p2-pk为n的所有素因子.比如:φ(12)=12*(1-1/2)(1-1/3)=4.可以用类似求素数的筛 ...
- [BZOJ]4805: 欧拉函数求和
解题思路类似莫比乌斯函数之和 题目大意:求[1,n]内的欧拉函数$\varphi$之和.($n<=2*10^{9}$) 思路:令$ M(n)=\sum_{i=1}^{n}\varphi (i) ...
- 【bzoj3944/bzoj4805】Sum/欧拉函数求和 杜教筛
bzoj3944 题目描述 输入 一共T+1行 第1行为数据组数T(T<=10) 第2~T+1行每行一个非负整数N,代表一组询问 输出 一共T行,每行两个用空格分隔的数ans1,ans2 样例输 ...
- BZOJ 4805: 欧拉函数求和 杜教筛
https://www.lydsy.com/JudgeOnline/problem.php?id=4805 给出一个数字N,求sigma(phi(i)),1<=i<=N https://b ...
- 【BZOJ3944/4805】Sum/欧拉函数求和 杜教筛
[BZOJ3944]Sum Description Input 一共T+1行 第1行为数据组数T(T<=10) 第2~T+1行每行一个非负整数N,代表一组询问 Output 一共T行,每行两个用 ...
- Bzoj4805: 欧拉函数求和
好久没写杜教筛了 练练手AC量刷起 # include <bits/stdc++.h> # define RG register # define IL inline # define F ...
随机推荐
- 3.yum学习笔记
一.yum介绍 将所有的rpm软件包放到指定服务器上,当进行yum在线安装时,可以自动解决依赖性问题. yum配置文件常位于/etc/yum.repo.d 目录下 [root@aaa251 ~]# c ...
- SQL注入靶场
靶场搭建 系统环境&工具 环境采用centos7的版本(纯命令行),采用一键部署平台,phpstudy工具,安装教程链接:https://www.xp.cn/linux.html#instal ...
- Swift初探01 变量与控制流
Swift初探01 变量与控制流 输出"hello world"是几乎学习所有编程语言的第一课,这是程序员的情怀. 所以我们学习swift的第一步,就是输出一句"Hell ...
- 实践torch.fx第一篇——基于Pytorch的模型优化量化神器
第一篇--什么是torch.fx 今天聊一下比较重要的torch.fx,也趁着这次机会把之前的torch.fx笔记整理下,笔记大概拆成三份,分别对应三篇: 什么是torch.fx 基于torch.fx ...
- 干掉Switch-Case、If-Else----订阅发布模式+事件驱动模式
在上位机和下位机或者服务端和客户端通信的时候,很多时候可能为了赶项目进度或者写代码方便直接使用Socket通信,传输string类型的关键字驱动对应的事件,这就有可能导致程序中存在大量的Switch- ...
- 测试平台系列(95) 前置条件支持简单的python脚本
大家好~我是米洛! 我正在从0到1打造一个开源的接口测试平台, 也在编写一套与之对应的教程,希望大家多多支持. 欢迎关注我的公众号米洛的测开日记,获取最新文章教程! 回顾 上一节我们构思了一下怎么去支 ...
- Java基本运算
目录 运算符 运算符优先级 运算 自增(++)自减(--)运算 数学运算(Math类) 逻辑运算 位运算 拓展运算符 三元运算符 视频课程 运算符 Java语言支持如下运算符: 算术运算符: +, - ...
- Python数据分析--Numpy常用函数介绍(6)--Numpy中矩阵和通用函数
在NumPy中,矩阵是 ndarray 的子类,与数学概念中的矩阵一样,NumPy中的矩阵也是二维的,可以使用 mat . matrix 以及 bmat 函数来创建矩阵. 一.创建矩阵 mat 函数创 ...
- STL栈与队列
#include<queue>// 队列 #include<stack>//栈 stack<int> s;//参数也是数据类型,这是栈的定义方式 queue< ...
- C语言- 基础数据结构和算法 - 队列的顺序存储
听黑马程序员教程<基础数据结构和算法 (C版本)>, 照着老师所讲抄的, 视频地址https://www.bilibili.com/video/BV1vE411f7Jh?p=1 喜欢的朋友 ...