蓝桥杯3522 互质数的个数 | 数论

题目传送门


首先根据a^b得出需要使用欧拉函数φ,根据欧拉函数的性质:
φ ( a b ) = a b − 1 ∗ φ ( a ) φ ( n ) = n ∗ ( 1 − 1 / p 1 ) ∗ ( 1 − 1 / p 2 ) ∗ . . . ∗ ( 1 − 1 / p k ) ,其中 p i 为 n 的质因数 φ(a^b)=a^{b-1}*φ(a)\\ φ(n)=n*(1-1/p_1)*(1-1/p_2)*...*(1-1/p_k),其中p_i为n的质因数 φ(ab)=ab−1∗φ(a)φ(n)=n∗(1−1/p1)∗(1−1/p2)∗...∗(1−1/pk),其中pi为n的质因数

于是使用python的快速幂函数即可得到结果。


python 复制代码
mod = 998244353
a, b = map(int, input().split())


# 欧拉函数模版
def euler(x: int) -> int:
    phi = x
    for i in range(2, int(pow(x, 0.5)) + 1):
        if x % i != 0:
            continue
        while x % i == 0:
            x = x // i
        phi = phi * (i-1) // i
    if x > 1:
        phi = phi * (x-1) // x
    return phi


ans = (euler(a) * (pow(a, b-1, mod))) % mod
print(ans)

END✨

相关推荐
m0_377618235 小时前
Golang怎么连接MySQL数据库_Golang MySQL连接教程【总结】
jvm·数据库·python
LN花开富贵5 小时前
【ROS】鱼香ROS2学习笔记一
linux·笔记·python·学习·嵌入式·ros·agv
weixin_586061465 小时前
C#怎么通过反射获取类属性_C#如何动态读取元数据【进阶】
jvm·数据库·python
Jurio.6 小时前
本机开发 + 多机执行的极简远端运行工具
linux·git·python·github·远程工作
skywalk81636 小时前
pytest测试的时候这是什么意思?Migrating <class ‘kotti.resources.File‘>
前端·python
overmind6 小时前
oeasy Python 121[专业选修]列表_多维列表运算_列表相加_列表相乘
java·windows·python
房开民6 小时前
可变参数模板
java·开发语言·算法
m0_678485456 小时前
CSS如何控制表格单元格边框合并_通过border-collapse实现
jvm·数据库·python
不知名的忻6 小时前
Morris遍历(力扣第99题)
java·算法·leetcode·morris遍历
m0_748839496 小时前
如何用组合继承模式实现父类方法复用与子类属性独立
jvm·数据库·python