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

lanqiaoOJ 4330:欧拉函数模板

【题目来源】
https://www.lanqiao.cn/problems/4330/learning/

【问题描述】
这是一道模板题。
首先给出欧拉函数的定义:即 φ(n) 表示的是小于等于 n 的数中和 n 互质的数的个数。
比如说 φ(6)=2,当 n 是质数的时候,显然有φ(n)=n-1。

【题目大意】
给定 n 个正整数,请你求出每个数的欧拉函数。

【输入格式】
输入共两行。
第一行输入一个整数表示 n。
第二行输入 n 个整数。

【输出格式】
输出共 n 行,每行输出 1 个整数表示对应数字的欧拉函数。​​​​​​​

【输入样例】
3
3 6 8​​​​​​​

【输出样例】
2
2
4

【说明】
小于等于 3 的数中与 3 互质的有:1, 2。
小于等于 6 的数中与 6 互质的有:1, 5。
小于等于 8 的数中与 8 互质的有:1, 3, 5, 7。

【评测数据规模】
保证 1≤n≤100,输入的 n 个整数范围为 [1,
2×10^9]。

【算法分析】
● 欧拉函数
φ(n) 是数论中的重要函数,用于计算小于等于 n 的数中和 n 互质的数的个数。特别地,当 n=1 时,φ(1)=1。

● 欧拉函数的计算公式:若 N 的质因数分解为
N=p₁ᵏ¹×p₂ᵏ²×...×pₘᵏᵐ,则 φ(N)=N×(1-1/p₁)×(1-1/p₂)×...×(1-1/pₘ)。其中,p₁,…,pₘ,是 N 的所有质因数。
【例如, 由于 18=2×3²,所以 φ(18)=18×(1-1/2)×(1-1/3)=6(表示 1~18 中与 18 互质的正整数有 1,5,7,11,13,17 等 6 个)。详见:https://blog.csdn.net/hnjzsyjyj/article/details/148135689】

● 欧拉函数性质‌
(1)
若p是质数,φ(p)=p-1
例如,φ(5)‌=5-1=4(表示 1~5 中与 5 互质的正整数有 1,2,3,4 等 4 个)。
(2)
若n=pᵏ,φ(pᵏ)=pᵏ-pᵏ⁻¹
例如,φ(8)‌=2³-2²=8-4=4(表示 1~8 中与 8 互质的正整数有 1,3,5,7 等 4 个)
(3)积性函数:
当 a,b 互质时,φ(ab)=φ(a)φ(b)
例如,φ(10)=φ(2)×φ(5)=1×4=4(表示 1~10 中与 10 互质的正整数有 1,3,7,9 等 4 个)
(4)通用计算公式:
φ(N)=N×(1-1/p₁)×(1-1/p₂)×...×(1-1/pₘ)。其中,p₁,…,pₘ,是 N 的所有质因数。

【算法代码】

#include <bits/stdc++.h>
using namespace std;const int maxn=105;
int a[maxn];int oula(int x) {int ans=x;for(int i=2; i*i<=x; i++) {if(x%i==0) {ans=ans/i*(i-1);while(x%i==0) x/=i;}}if(x>1) ans=ans/x*(x-1);return ans;
}int main() {int n;cin>>n;for(int i=1; i<=n; i++) {cin>>a[i];cout<<oula(a[i])<<endl;}return 0;
}/*
in:
3
3 6 8out:
2
2
4
*/



【参考文献】
https://blog.csdn.net/hnjzsyjyj/article/details/148159326
https://blog.csdn.net/hnjzsyjyj/article/details/148135689



 

http://www.lryc.cn/news/2385047.html

相关文章:

  • NDVI谐波拟合(基于GEE实现)
  • 《虚拟即真实:数字人驱动技术在React Native社交中的涅槃》
  • 南京邮电大学《智能控制技术》期末抢救(上)
  • Cookie、Session、JWT
  • TPDS-2014《Efficient $k$-means++ Approximation with MapReduce》
  • 地理特征类可视化图像
  • 【Java高阶面经:微服务篇】8.高可用全链路治理:第三方接口不稳定的全场景解决方案
  • DataGridView中拖放带有图片的Excel,实现数据批量导入
  • 跨域_Cross-origin resource sharing
  • Opencv常见学习链接(待分类补充)
  • 大疆制图跑飞马D2000的正射与三维模型
  • PostgreSQL中的权限管理简介
  • ConceptAttention:Diffusion Transformers learn highly interpretable features
  • 物联网低功耗保活协同优化方案:软硬件与WiFi网关动态联动
  • LW-CTrans:一种用于三维医学图像分割的轻量级CNN与Transformer混合网络|文献速递-深度学习医疗AI最新文献
  • 光谱相机在地质勘测中的应用
  • Autodl训练Faster-RCNN网络(自己的数据集)
  • 每日两道leetcode(今天开始刷基础题模块——这次是之前的修改版)
  • 服务器数据迁移终极指南:网站、数据库、邮件无缝迁移策略与工具实战 (2025)
  • NFS服务小实验
  • vue 中的v-once
  • 鸿蒙ArkTS-发请求第三方接口显示实时新闻列表页面
  • 2025年开源大模型技术全景图
  • 【创造型模式】工厂方法模式
  • 【MySQL】使用文件进行交互
  • # 大模型的本地部署与应用:从入门到实战
  • 布丁扫描高级会员版 v3.5.2.2| 安卓智能扫描 APP OCR文字识别小助手
  • 可视化大屏全屏后重载echarts图表
  • 20200201工作笔记常用命令要整理
  • Java对象内存模型、如何判定对象已死亡?