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.pswp.cn/web/81051.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

无人机电子防抖技术要点概述!

一、技术要点 1. 传感器数据融合 电子防抖需结合陀螺仪、加速度计、视觉传感器等多源数据&#xff0c;实时检测无人机的姿态变化和振动频率。例如&#xff0c;IMU&#xff08;惯性测量单元&#xff09;通过加速度计和陀螺仪测量飞行器的姿态和运动状态&#xff0c;结合视觉感…

Win10 安装单机版ES(elasticsearch),整合IK分词器和安装Kibana

一. 先查看本机windows是否安装了ES(elasticsearch)&#xff0c;检查方法如下&#xff1a; 检查进程 按 Ctrl Shift Esc 组合键打开 “任务管理器”。在 “进程” 选项卡中&#xff0c;查看是否有 elasticsearch 相关进程。如果有&#xff0c;说明系统安装了 ES。 检查端口…

BIO、NIO、AIO 的区别与实战应用解析

导语&#xff1a; BIO、NIO 和 AIO 是后端面试中的经典话题&#xff0c;尤其在高并发、高性能场景下更是重中之重。本文将从面试官视角出发&#xff0c;深入剖析三者的区别、典型题目和实战解答&#xff0c;助你掌握答题技巧&#xff0c;轻松拿下这一高频考点&#xff01; 一、…

电脑风扇转速不正常的原因

一、硬件故障或接触问题 1. 风扇本身损坏 扇叶卡顿或轴承磨损&#xff1a;灰尘堆积、异物缠绕&#xff08;如头发、线缆&#xff09;会导致扇叶转动阻力增大&#xff0c;发出异响并转速下降&#xff1b;轴承润滑脂干涸或老化会引起风扇噪音大、转速不稳定。电机故障&#xff…

运维打铁:生产服务器用户权限管理方案全解析

文章目录 一、引言二、方案设计2.1 权限模型选择2.2 角色定义2.3 权限分配2.4 用户与角色关联 三、相关代码注释&#xff08;以 Linux 系统为例&#xff09;3.1 用户创建与角色分配脚本3.2 权限设置脚本 四、常见问题解决4.1 用户无法登录4.2 用户权限不足4.3 权限文件修改后不…

在tp6模版中加减法

实际项目中&#xff0c;我们经常需要标签变量加减运算的操作。但是&#xff0c;在ThinkPHP中&#xff0c;并不支持模板变量直接运算的操作。幸运的是&#xff0c;它提供了自定义函数的方法&#xff0c;我们可以利用自定义函数解决&#xff1a;ThinkPHP模板自定义函数语法如下&a…

Fastjson利用链JdbcRowSetImpl分析

首先创建客户端 package com.yq1ng.vul;import com.alibaba.fastjson.JSON;/*** FastJsonTest** author yq1ng* date 2021/12/29 19:45* since 1.0.0*/ public class FastJsonTest {public static void main(String[] args) {String ser "{\"type\":\"co…

基于OAuth2-proxy和Keycloak为comfyui实现SSO

背景 comfyui无认证被漏扫后易被rce挖矿 攻击过程 https://www.oschina.net/news/340226 https://github.com/comfyanonymous/ComfyUI/discussions/5165 阿里云漏洞库关于comfyui的漏洞 https://avd.aliyun.com/search?qcomfyui&timestamp__1384n4%2BxBD0GitGQ0QD8ID%2F…

第R7周:糖尿病预测模型优化探索

文章目录 1.数据预处理1.1 设置GPU1.2 数据导入1.3 数据检查 2. 数据分析2.1 数据分布分析2.2 相关性分析 3. LSTM模型3.1 划分数据集3.2 数据集构建3.3 定义模型 4. 训练模型4.1 定义训练函数4.2 定义测试函数4.3 训练模型 5. 模型评估5.1 Loss与Accuracy图 6. 总结 &#x1f…

一些好用的Chrome 扩展程序

以下是按主要功能分类的 Chrome 扩展程序列表&#xff0c;包括其版本号、中文功能简述以及指向其主页或 Chrome 网上应用店页面的链接。 翻译与语言 沉浸式翻译 - 网页翻译插件 | PDF 翻译 | 免费 版本: 1.16.12 描述: 【沉浸式翻译】免费的&#xff08;原文 / 译文&#xff0…

贪心算法题目合集2

贪心算法题目合集2 一般排序排队接水整数区间金银岛寻找平面上的极大点NOIP 2008 普及组 排座椅 推导排序规律NOIP 1998 提高组 拼数排序规则的正确性证明&#xff1a;全序关系证明拼数的贪心策略正确P2878 [USACO07JAN] Protecting the Flowers SP1842 [USACO05NOV] 奶牛玩杂技…

全方位详解微服务架构中的Service Mesh(服务网格)

一、引言 随着微服务架构的广泛应用&#xff0c;微服务之间的通信管理、流量控制、安全保障等问题变得日益复杂。服务网格&#xff08;Service Mesh&#xff09;作为一种新兴的技术&#xff0c;为解决这些问题提供了有效的方案。它将服务间通信的管理从微服务代码中分离出来&a…

如何在VSCode中更换默认浏览器:完整指南

引言 作为前端开发者&#xff0c;我们经常需要在VSCode中快速预览HTML文件。默认情况下&#xff0c;VSCode会使用系统默认浏览器打开文件&#xff0c;但有时我们可能需要切换到其他浏览器进行测试。本文将详细介绍如何在VSCode中更换默认浏览器。 方法一&#xff1a;使用VSCo…

【普及+/提高】洛谷P2613 【模板】有理数取余——快读+快速幂

题目来源 P2613 【模板】有理数取余 - 洛谷 题目描述 给出一个有理数 cba​&#xff0c;求 cmod19260817 的值。 这个值被定义为 bx≡a(mod19260817) 的解。 输入格式 一共两行。 第一行&#xff0c;一个整数 a。 第二行&#xff0c;一个整数 b。 输出格式 一个整数&a…

从编程助手到AI工程师:Trae插件Builder模式实战Excel合并工具开发

Trae插件下载链接&#xff1a;https://www.trae.com.cn/plugin 引言&#xff1a;AI编程工具的新纪元 在软件开发领域&#xff0c;AI辅助编程正在经历一场革命性的变革。Trae插件&#xff08;原MarsCode编程助手&#xff09;最新推出的Builder模式&#xff0c;标志着AI编程工具…

Python set集合方法详解

""" set()函数是个无序的去重集合&#xff0c;可以用来过滤重复元素 Python 提供了 2 种创建 set 集合的方法&#xff0c;分别是使用 {} 创建和使用 set() 函数将列表、元组等类型数据转换为集合 """# 空集合 s0 set() # 正确方式 →…

各类Agent技术的发展现状和核心痛点

AI Agent主要分类 Agent&#xff08;智能体&#xff09;技术是指具有自主感知、决策与执行能力的软件系统&#xff0c;能够在环境中完成特定任务。目前常见的Agent类型主要包括&#xff1a; - 基于大模型的智能体&#xff1a;以GPT-4等大型语言模型为核心&#xff0c;如AutoGP…

单片机-STM32部分:18、WiFi模组

飞书文档https://x509p6c8to.feishu.cn/wiki/WFmqwImDViDUezkF7ercZuNDnve 一、WiFi模组应用 当设备需要连接网络&#xff0c;实现远程控制&#xff0c;状态监控时&#xff0c;就需要添加通信模组&#xff0c;常见的通信模组WiFi模组、2G模组、4G模组等&#xff1a; 我们的板卡…

探索Qwen2ForCausalLM 架构上进行微调

简述 试验参考了mini_qwen 的开源实现 GitHub - qiufengqijun/mini_qwen: 这是一个从头训练大语言模型的项目&#xff0c;包括预训练、微调和直接偏好优化&#xff0c;模型拥有1B参数&#xff0c;支持中英文。这是一个从头训练大语言模型的项目&#xff0c;包括预训练、微调和…

hysAnalyser特色的TS流编辑、剪辑和转存MP4功能说明

摘要 hysAnalyser 是一款特色的 MPEG-TS 数据分析工具&#xff0c;融合了常规TS文件的剪辑&#xff0c;转存功能&#xff0c;可用于平常的视频开发和测试。 本文详细阐述了对MPEG-TS 流的节目ID&#xff0c;名称&#xff0c;PID&#xff0c;时间戳&#xff0c;流类型&#xff…