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

欧拉函数(模板)

欧拉函数:欧拉函数是小于或等于 n 的正整数中与 n 互质的数的数目(\varphi(1)=1),

记为\varphi(n)。

欧拉函数的通式:\varphi(n)= n*\prod_{i=1}^{k}(1-\frac{1}{p_{i}})

欧拉函数的性质:n 的因子的欧拉函数加起来等于 n 。

1.求正整数 n 的欧拉函数:

int euler(int n){int ret=n;for(int i=2;i*i<=n;i++){if(n%i==0){ret-=ret/i;while(n%i==0) n/=i;}}if(n>1) ret-=ret/n;return ret;
}

2.欧拉函数的线性求法:

#include<bits/stdc++.h>
using namespace std;
const int maxn=1e4+5;
int vis[maxn],prime[maxn],phi[maxn];
signed main(){int n;cin >> n;int cnt=0;phi[1]=1;for(int i=2;i<=n;i++){if(!vis[i]) prime[++cnt]=i,phi[i]=i-1;for(int j=1;j<=cnt && i*prime[j]<=n;j++){vis[i*prime[j]]=1;if(i%prime[j]==0){phi[i*prime[j]]=phi[i]*prime[j];break;}phi[i*prime[j]]=phi[i]*(prime[j]-1);}}cout << phi[n] << endl;return 0;
}


http://www.mrgr.cn/news/58737.html

相关文章:

  • k8s 1.28.2 集群部署 NFS server 和 NFS Subdir External Provisioner
  • Docker 部署 EMQX 一分钟极速部署
  • 智能语音设备测试 | 音频基础
  • GEE引擎传奇UI界面修改教程
  • Spring Boot 3.3.4 升级导致 Logback 之前回滚策略配置不兼容问题解决
  • 软件测试学习笔记丨Selenium多frame切换
  • input子系统中读取流程解析
  • windows DLL技术-动态链接库搜索
  • LeetCode904.水果成篮
  • uniapp 发起post和get请求!uni.request(OBJECT)
  • Typora 、 Minio and PicGo 图床搭建
  • 【高级IO】IO多路转接之select
  • 代码随想录第九天|151.翻转字符串里的单词、卡码网:55.右旋转字符串、28. 实现 strStr() 、459.重复的子字符串
  • 《西安科技大学学报》
  • 我谈Canny算子
  • windows中git无法通过ssh连接github
  • 【Git】将本地代码提交到github仓库
  • electron 监听窗口高端变化
  • 基础知识总结-因果分析-dayone-辛普森悖论 因果关系
  • Spring Boot 中应用单元测试(UT):结合 Mock 和 H2 讲解和案例示范
  • Openlayers高级交互(8/20):选取feature,平移feature
  • Linux中安装配置SQLite3,并实现C语言与SQLite3的交互。
  • 活着就好20241026
  • Nature Communications|一种3D打印和激光诱导协同策略用于定制功能化器件(3D打印/激光直写/柔性电子/人机交互/柔性电路)
  • react项目因eslint检测未通过而Failed to compile编译失败
  • Go操作Redis