首页 > 其他分享 >初等数学瞎扯Ⅲ:数论函数与筛法

初等数学瞎扯Ⅲ:数论函数与筛法

时间:2023-04-25 15:12:04浏览次数:36  
标签:mathbb 函数 筛法 瞎扯 积性 数论 _+ forall 初等数学

0. 前置知识与基本定义

  • \([op]\):值为 \(1\) 当且仅当方括号内条件为真。记为艾弗森括号

  • 唯一分解定理:一个正整数 \(x\) 可以被唯一分解为 \(\prod\limits_{i=1}^m p_i^{c_i}\),其中 \(\forall i\in[1,m],p_i\in \mathbb{P}\)。(关于\(\mathbb{P}\),详见初等数学瞎扯Ⅰ:同余相关)。

1. 数论函数

1-1. 数论函数及其相关定义

  • 数论函数:定义域为正整数的函数为数论函数,可以视作数列。

  • 陪域:可能的取值范围。

  • 加性函数:若对于任意 \(a,b\in \mathbb{N}_+\) 且 \(a\perp b\) 均有 \(f(ab)=f(a)+f(b)\),则称 \(f\) 为 加性函数。

  • 积性函数:若对于任意 \(a,b\in \mathbb{N}_+\) 且 \(a\perp b\) 均有 \(f(ab)=f(a)f(b)\),则称 \(f\) 为 积性函数。

  • 完全积性函数:若对于任意 \(a,b\in \mathbb{N}_+\) 均有 \(f(ab)=f(a)f(b)\),则称 \(f\) 为 完全积性函数。完全积性函数一定是积性函数。

  • 数论函数的加法:对于数论函数 \(f,g\),若存在函数 \(h\) 满足 \(\forall x\in\mathbb{N}_+ , h(x)=f(x)+g(x)\),则 \(h=f+g\)。

  • 数论函数的数乘:对于数论函数 \(f\),若存在函数 \(g\) 满足 \(\forall x\in\mathbb{N}_+ , g(x)=cf(x)\),则 \(h=cf\)。

  • 数论函数的点乘:对于数论函数 \(f,g\),若存在函数 \(h\) 满足 \(\forall x\in\mathbb{N}_+ , h(x)=f(x)\cdot g(x)\),则 \(h=f\cdot g\)。

1-2. 常见数论函数

1-2-1 单位函数

记作 \(\epsilon\),其中 \(\epsilon(n)=[n=1]\)。

\(\epsilon\) 是完全积性函数,证明显然。

1-2-2 常数函数

记作 \(I\),其中 \(I(n)=1\),有时简写作 \(1\)。

\(I\) 是完全积性函数,证明显然。

1-2-2 恒定函数

记作 \(id_k\),其中 \(id_k(n)=n^k\)。

\(id_k\) 是完全积性函数,证明显然。

特别的,当 \(k=1\) 时,我们省略 \(k\),简记为 \(id\)。

1-2-3 本质不同质因子函数

记作 \(\omega(x)\),即为对 \(x\) 做唯一分解后的 \(m\)。

特殊的,\(\omega\) 为加性函数,这也是介绍的唯一一个加性函数。

1-2-4 除数函数

记作 \(\sigma_k(x)\),可表示为 \(\sum\limits_{d|n}d^k\),对于 \(k=0\) 时原式表示约数个数,可以记作 \(d(x)\) 或 \(\tau(x)\),简写规则与恒定函数相同,且 \(\sigma(x)\) 表示 \(x\) 的约数个数和。

除数函数是积性函数,证明如下。
除数函数有计算式如下

\[\sigma_k(x)=\begin{cases} \prod\limits_{i = 1} ^ m (c_i + 1) & k = 0 \\ \sum\limits_{i = 1} ^ m \frac{p_i ^ {(c_i + 1)k} - 1}{p_i - 1} & k > 0\end{cases} \]

对于 \(k=0\),其相当于对质数做乘法原理。

对于 \(k\neq 0\),其相当于做完排列组合后相加,交换枚举顺序后等比数列求和即可得证。这里从略。

故其显然为积性函数。

1-2-5 欧拉函数

最神奇的函数。个人认为和莫比乌斯函数重要程度不相上下。

首先给出欧拉函数的定义,\(\varphi(x)\) 为在 \([1,x]\) 中与 \(x\) 互质的数的个数。

为了考察这个函数,我们先探寻其在质数次幂的性质。

性质 1

\(\varphi(p^k)=p^{k-1}(p-1),p\in\mathbb{P}\)。

对于 \([1,p^k]\) 次方中的数,其与 \(p^k\) 不互质当且仅当其是 \(p\) 的倍数。

故答案为 \(p^k-p^{k-1}=p^{k-1}(p-1)\)。

性质 2

\(\varphi(x)\) 是积性函数

标签:mathbb,函数,筛法,瞎扯,积性,数论,_+,forall,初等数学
From: https://www.cnblogs.com/-Complex-/p/17352649.html

相关文章

  • 初等数学瞎扯Ⅱ:辅助工具
    0.前置知识质数与合数:对于一个数\(n\),若其因子只有\(1\)和\(n\),则称\(n\)为质数,否则为合数。一些基础的数论函数知识,可以参见初等数学瞎扯Ⅲ:数论函数与筛法1.乘方运算1-0.问题简述求\(b^m\pmodp\)。1-1.普通快速幂快速求\(a^b\pmodp\)朴素算法是\(O(......
  • python习题-筛法求素数
    【题目描述】用户输入整数n和m(1<n<m<1000),应用筛法求[n,m]范围内的所有素数。【基本思想】用筛法求素数的基本思想是:把从2到N的一组正整数从小到大按顺序排列。从中依次删除2的倍数、3的倍数、5的倍数,直到根号N的倍数为止,剩余的即为2~N之间的所有素数。【源代码程序】defsie......
  • 【ACM算法竞赛日常训练】DAY10题解与分析【月月给华华出题】【华华给月月出题】| 筛法
    DAY10共2题:月月给华华出题华华给月月出题难度较大。......
  • 记录欧式筛法筛选素数
    点击查看代码voidgetPrime(longlongn,vector<int>&prime,vector<bool>&isPrime){isPrime[1]=false;for(inti=2;i<n;++i){if(isPrime[i]){prime.emplace_back(i);}for(constint&a......
  • 欧拉筛法求素数
    在开筛之前,我们要理解一个很好理解的概念,任何一个合数可以拆成一个最小素数和另一个数(可能质数可能合数)的乘积这个最小素数即为这个合数的最小质因子//比如12=2*6,此时2就是12的最小质因子,当然亦有12=3*4,可以看到3也是12的质因子,但不是最小的质因子//而且,对于一合数a=b*q,b为a的最......
  • AcWing 874. 筛法求欧拉函数
    \(AcWing\)\(874.\)筛法求欧拉函数一、题目描述给定一个正整数\(n\),求\(1∼n\)中每个数的欧拉函数之和。输入格式共一行,包含一个整数\(n\)。输出格式共一行,包......
  • 数论基础1(质数判断,分解质因数,筛法,优化筛法,约数,约数个数,约数之和)
    模板://质数判定--试除法//朴素O(N)boolis_prime(intn){ if(n<2)returnfalse; for(inti=2;i<n;i++) { if(n%i==0)returnfalse; } returntrue;}//......
  • 数学知识模板之筛法求素数
    筛法求素数1.朴素筛法求素数intprimes[N],cnt;boolst[N];voidget_primes(intn){ for(inti=2;i<=n;i++) { if(st[i])continue; primes[cnt++]=......
  • Python实现素数筛选(欧式筛法)
    素数筛选之欧式筛法:用合数与素数乘法,素数与素数的乘法去筛将来的数,同时当这个数被更小的素数整除,就不必再用这个数去运算,保证每个合数只会被它的最小质因数筛去,因此每个数只......
  • C\C++ 埃氏筛法
     1埃氏筛法的基本思想:从2开始,将每个质数的倍数都标记成合数,以达到筛选素数的目的。1#include<iostream>2usingnamespacestd;3constintmaxn=1000;4i......