首页 > 其他分享 >关于线性筛Euler函数的详细证明&代码

关于线性筛Euler函数的详细证明&代码

时间:2025-01-19 21:50:56浏览次数:1  
标签:10 函数 代码 varphi 线性 互质 Euler

引言:由于dsfz的集训老师讲的跟**一样太快了,蒟蒻前去听了洛谷网校@disangan233大佬的讲解,在此重构线性筛Euler函数的证明及代码。

关于Euler函数

  • \(Euler\) 函数,同时被称为欧拉函数, 定义: \(\varphi(n)\) 表示 \(\le n\) 且与 \(n\) 互质的数的个数
  • 我们规定:\(\varphi(1) = 1\)

Euler函数的性质

  • 积性:对于 \(gcd(a,b)=1\) 的两个数 \(a,b\) , $\varphi(a\times b)=\varphi(a)\times \varphi(b) $.
  • 欧拉反演:$\sum_{d|n}\varphi(d) = n $
  • 对于任意质数 \(p\),\(\varphi(p^k)=p^k-p^{k-1}\)

对于Euler函数性质的证明

  • 1:根据积性函数的定义可得。
  • 2:公式解释:对于每个是 \(n\) 的质因子的数 \(p\),把他们的 \(\varphi\) 全部加在一起的和是 \(n\).
    拿 \(10\) 举例:\(10\) 的全部质因子为 \(\{2,3,5,7,9\}\) ,他们的 \(\varphi\)分别为: \(\{0,1,2,3,4\}\), 加起来就是原数 \(10\).
  • 3: 很显然,小于 \(p^k\) 的数中与 \(p\) 不互质的数仅有\(p,2p,3p\dots p^{k-1}p\).总数为 \(p^{k-1}\) 个.
    那小于它且与它互质的数的个数就是总数减去 \(p^{k-1}\) 个,即 \(\varphi(p^k)=\) 总数 \(-\ p^{k-1}\),即: \(\varphi(p^k)=p^k-p^{k-1}\)

标签:10,函数,代码,varphi,线性,互质,Euler
From: https://www.cnblogs.com/FrankWKD/p/18679998

相关文章

  • 线性表
    线性表1.基本概念线性表是包含若干数据元素的一个线性序列,记为:\(L=(a_0,...a_{i-1},a_i,a_{i+1}...a_{n-1})\)其中,L为表名,\(a_i(0\leqi\leqn-1)\)为数据元素;n为表长,n>0时,线性表为非空表,否则为空表。二元组形式表述:​ $$L=(D,R)$$即线性表L包含数据元素集......
  • 爬虫实战带上代码讲解(以爬取好大夫为例)
    前言:我感觉之前讲的爬虫,太纸面化了,需要给一些实例来帮助理解。毕竟爬虫这项技能,我们经常可能用到,通常用于爬虫数据来训练模型。延续上一篇文章所说将爬虫分为四个主要部分:获取网页源代码解析网页并提取数据实现自动化抓取逻辑保存数据到文件(如execl)第一步:获取网页源代码......
  • 如何规范网站代码的随意修改?
    在网站开发过程中,未经严格审查的代码修改可能会引入新的漏洞或破坏现有功能。因此,建立一套完善的代码管理制度对于保证项目的稳定性和可维护性非常重要。本文将介绍几种防止随意代码修改的方法。答案:为了解决这个问题,可以从以下几个方面入手:版本控制系统(VCS):使用Git等工具管理......
  • 程序员转型:探索代码外的精彩人生
    程序员是现代科技社会的中坚力量,随着技术的快速发展,许多程序员已经不再满足于单纯的编码工作。随着职业生涯的不断深入,转型成为了越来越多程序员的选择。那么,除了常见的技术管理、产品经理等转型方向,程序员还能向哪些领域或岗位转型?如何在转型过程中充分利用已有的技术背景和......
  • 我用AI Assistant编写代码,竟完成了100%的Coding工作!还在蒙头敲代码的时代已经过去啦!
    大家好,欢迎来到程序视点!我是小二哥。前言昨天我们详细分享了Cursor、GitHubCopilot和AIAssistant三款AI工具怎么选的问题。今天,我们用AIAssistant来解决下实践中的问题–AIAssistant写代码。这是某高校技能大赛的题目之一。大家自己评估一下,写出这道题需要多久?AI......
  • 学习代码并分享Day5
    近期一段时间的学习,了解到很多新东西,一共有以下部分组成:1、递归2、移位操作符3、位操作符4、逗号表达式1、递归递归就是函数自己调用自己。最简单的一个递归实例如下:#include<stdio.h>intmain(){printf("digui\n");main();return0;}这段代码的......
  • 人工智能之数学基础:线性代数中的线性相关和线性无关
    本文重点在线性代数的广阔领域中,线性相关与线性无关是两个核心概念,它们对于理解向量空间、矩阵运算、线性方程组以及人工智能等问题具有至关重要的作用。定义与直观理解当存在一组不全为0的数x1,x2,...,xn使得上式成立的时候,那么此时我们可以说向量组a1,a2...,an线性相关。线......
  • 卷积加法自注意力CASAtt详解及代码复现
    自注意力机制简介自注意力机制(Self-Attention)是一种特殊的注意力机制,允许模型在处理序列数据时考虑每个元素与其他所有元素的关系。这种机制通过计算查询、键和值向量,帮助模型更好地理解序列中的上下文信息。自注意力机制的核心在于计算每个元素的权重,反映元素之间的相互关......
  • Swift Parameter-free Attention Network模型详解及代码复现
    研究动机在深度学习领域,超分辨率技术的发展面临着模型复杂度与推理速度之间的权衡。传统的基于注意力的超分辨率网络虽然能提高性能,但往往需要较大的感受野和参数化的注意力图,这可能导致推理速度下降。为了解决这一问题,研究人员提出了SwiftParameter-freeAttentionNetwo......
  • To 遗留类 和 From 遗留类 与 传统日期处理的转换(配有详细案例代码解析)
    前言:小编最近又要练科目三了天天好多事情啊,不知道大家放了假事情多不多我们继续日更!!!我们一直都是以这样的形式,让新手小白轻松理解复杂晦涩的概念,把Java代码拆解的清清楚楚,每一步都知道他是怎么来的,为什么用这串代码关键字,对比同类型的代码,让大家真正看完以后融会贯通......