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

AcWing--873.欧拉函数

目录

 题目:

 分析:

 代码:


原题链接:873. 欧拉函数 - AcWing题库

题目:

给定 n 个正整数 ai,请你求出每个数的欧拉函数。

欧拉函数的定义

1∼N 中与 N 互质的数的个数被称为欧拉函数,记为 ϕ(N)。
若在算数基本定理中,N=pa1*pa2…*pam,则:
ϕ(N) = N×(p1−1)/p1×(p2−1)/p2×…×(pm−1)/pm

输入格式

第一行包含整数 n。

接下来 n 行,每行包含一个正整数 ai。

输出格式

输出共 n 行,每行输出一个正整数 ai 的欧拉函数。

数据范围

1≤n≤100,
1≤ai≤2×109

输入样例:

3
3
6
8

输出样例:

2
2
4

 分析:

 代码:

// 欧拉函数:用于计算<=n的正整数中,与n互质的数的数量.题目中的
// 欧拉函数表示:ϕ(N)=n*(p1-1)/p1*(p2-1)/p2*...*(pm-1)/pm
#include<iostream>
using namespace std;int main()
{int n;cin>>n;while(n--){int a;cin>>a;int res=a;for(int i=2;i<=a/i;i++) // 分解a的质因子{if(a%i==0) {res=res/i*(i-1); // 欧拉函数。易错:如果写成res=res*(i-1)/i,现进行乘法的话值可能很大,会溢出。while(a%i==0) a/=i;}}if(a>1) res=res/a*(a-1);cout<<res<<endl;}
}

http://www.dtcms.com/a/267868.html

相关文章:

  • ARMv8 创建1、2、3级页表代码与注释
  • 【C++基础】内存管理四重奏:malloc/free vs new/delete - 面试高频考点与真题解析
  • Windows 11 Enterprise LTSC 转 IoT
  • C++ i386/AMD64平台汇编指令对齐长度获取实现
  • LangChain:构建一个Agent(入门篇四)
  • [leetcode] C++ 并查集模板
  • 【机器学习笔记 Ⅱ】1 神经网络
  • 云原生 Serverless 架构下的智能弹性伸缩与成本优化实践
  • 基于HTML与Java的简易在线会议系统实现
  • Javaweb - 10.5 HttpServletRequest 和 HttpServletResponse
  • Flink ClickHouse 连接器维表源码深度解析
  • 【Note】《Kafka: The Definitive Guide》第四章:Kafka 消费者全面解析:如何从 Kafka 高效读取消息
  • 深入理解Kafka幂等性:原理、边界与最佳实践
  • Neo4j 综合练习作业
  • Android 应用开发 | 一种限制拷贝速率解决因 IO 过高导致系统卡顿的方法
  • java ThreadLocal源码分析
  • 深度学习6(多分类+交叉熵损失原理+手写数字识别案例TensorFlow)
  • 高效处理大体积Excel文件的Java技术方案解析
  • 安卓之service
  • QT 菜单栏设计使用方法
  • 基于AndServer的RPC架构:Android原生SO文件远程调用实战指南
  • Python 机器学习核心入门与实战进阶 Day 4 - 支持向量机(SVM)原理与分类实战
  • 深度学习图像分类数据集—蘑菇识别分类
  • plantuml用法总结
  • Java设计模式之行为型模式(策略模式)介绍与说明
  • 利用低空无人机影像进行树种实例分割
  • 深入解析Vue中v-model的双向绑定实现原理
  • 牛客周赛99
  • 关于 栈帧变化完整流程图(函数嵌套)
  • 大模型面试:RAG与Agent相关