蓝桥杯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✨

相关推荐
Ulyanov几秒前
基于Python的单脉冲雷达导引头回波生成技术
python·算法·仿真·单脉冲雷达、
deepxuan2 分钟前
Day2--python三大库-numpy
开发语言·python·numpy
徐同保5 分钟前
python如何手动抛出异常
java·前端·python
ersaijun5 分钟前
机器人动力学库Pinocchio、RBDL 和 KDL区别
算法·机器人·控制·开源库
sali-tec23 分钟前
C# 基于OpenCv的视觉工作流-章25-ORB特征点
图像处理·人工智能·opencv·算法·计算机视觉
jghhh011 小时前
LT喷泉码编解码的MATLAB实现
数据库·算法·matlab
被遗忘在角落的死小孩1 小时前
抗量子 Winternitz One Time Signature(OTS) 算法学习
学习·算法·哈希算法
浅念-1 小时前
C++ :类和对象(4)
c语言·开发语言·c++·经验分享·笔记·学习·算法
YunchengLi2 小时前
【移动机器人运动规划】5 基于优化的轨迹规划 Part2
算法·机器人
Dxy12393102162 小时前
Python检查JSON格式错误的多种方法
前端·python·json