首页 > 编程知识 正文

六年级上数学重点知识,欧拉函数图像

时间:2023-05-06 06:39:15 阅读:109932 作者:3590

前言一、欧拉函数、欧拉定理二、例题、代码AcWing 873、欧拉函数AcWing 874、筛法欧拉函数正题分析AC代码三、时间复杂度

复习前言acwing算法基础课的内容。 本篇是为了说明数学知识。 欧拉函数,关于时间的复杂性。 现在博客不太会计算。 我先变成了鸽子。 日后一定追加。

一、欧拉函数、欧拉定理欧拉函数公式:

首先,我们来看看把一个数分解成质因子,再分解的方法。 数学知识:质数,将一个数做成下图所示的形状。

欧拉函数计算:

关于上图的导出:建议百度(面向百度编程

欧拉定理:如果a和b互为质,就一定有:

关于上图的导出:建议百度(面向百度编程

特殊的,b为素数时,如下所示。

上图公式为费马定理.

二、例题、代码AcWing 873 .欧拉函数本题链接: AcWing 873 .欧拉函数

这个博客提供了主题的截图:

交流电源线# includeiostreamusingnamespacestd; intphi(intx ) { int res=x; for(intI=2; i=x/i; I ) if ) x%I==0) RES=RES/I*(I-1 ); wile(x%I==0) x /=i; }if(x1 ) RES=RES/x*(x-1 ); 返回结果; (}int main ) ) { int n; cin n; wile(n----) { int x; cin x; coutphi(x ) endl; }返回0; (AcWing 874 .求筛法欧拉函数正题的链接) AcWing 874 .求筛法欧拉函数

这个博客提供了主题的截图:

本题的解析本题的核心是,若数k为素数,则该数的欧拉函数为k - 1,若不是素数,则满足

int t=primes[j] * i; if(I%primes[j]==0) euler[t]=euler[i] * primes[j]; Euler[t]=Euler[I]*(primes[j]-1; 交流电源线# includeiostreamusingnamespacestd; typedef long ll; const int N=1000010; int primes[N],cnt; int euler[N]; bool st[N]; voidget_Eulers(intn ) { euler[1]=1; for(intI=2; i=n; I ) if (! ST[I]}{primes[CNT]=I; euler[i]=i - 1; }for(intj=0; primes[j]=n/i; j({intt=primes[j]*I; st[t]=true; if(I%primes[j]==0) { euler[t]=euler[i] * primes[j]; 黑; } Euler [ t ]=Euler [ I ] * (primes [ j ]-1 ); } }}int main () { int n; cin n; get_Eulers(n; LL res=0; for(intI=1; i=n; I ) res =euler[i]; cout res endl; 返回0; (三)时间复杂度关于欧拉函数每一步操作的时间复杂度和证明,后面给出了详细的说明和证明过程。 现在先有鸽子。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。