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

相关推荐
世界唯一最大变量6 小时前
利用自定义积分公式,目前可以求出所有1元方程和1元积分的近似值
python
写代码的【黑咖啡】6 小时前
深入理解 Python 中的模块(Module)
开发语言·python
ytttr8737 小时前
MATLAB基于LDA的人脸识别算法实现(ORL数据库)
数据库·算法·matlab
爱笑的眼睛118 小时前
超越 `cross_val_score`:深度解析Scikit-learn交叉验证API的架构、技巧与陷阱
java·人工智能·python·ai
jianfeng_zhu8 小时前
整数数组匹配
数据结构·c++·算法
smj2302_796826528 小时前
解决leetcode第3782题交替删除操作后最后剩下的整数
python·算法·leetcode
gCode Teacher 格码致知9 小时前
Python基础教学:Python 3中的字符串在解释运行时的内存编码表示-由Deepseek产生
python·内存编码
翔云 OCR API9 小时前
承兑汇票识别接口技术解析与应用实践
开发语言·人工智能·python·计算机视觉·ocr
LYFlied9 小时前
【每日算法】LeetCode 136. 只出现一次的数字
前端·算法·leetcode·面试·职场和发展
唯唯qwe-10 小时前
Day23:动态规划 | 爬楼梯,不同路径,拆分
算法·leetcode·动态规划