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

相关推荐
2501_9454248016 小时前
调试技巧与核心转储分析
开发语言·c++·算法
2501_9216494916 小时前
外汇实时汇率 API | 24 小时 架构设计与实战指南
大数据·python·websocket·金融·restful
m0_5793936616 小时前
单元测试在C++项目中的实践
开发语言·c++·算法
badhope16 小时前
Matplotlib实战30例:全类型图表代码库
人工智能·python·plotly·github·matplotlib
老萬頭16 小时前
【技术深水区】抖音 WEB 端逆向:从零到一拿下 a_bogus 参数
前端·爬虫·python
C_Si沉思16 小时前
C++中的状态模式高级应用
开发语言·c++·算法
MORE_7716 小时前
leecode100-跳跃游戏2-贪心算法
算法·游戏·贪心算法
2301_7938046916 小时前
Django全栈开发入门:构建一个博客系统
jvm·数据库·python
j_xxx404_16 小时前
蓝桥杯基础--递归
数据结构·c++·算法·蓝桥杯·排序算法
曾阿伦16 小时前
Python 正则表达式备忘录:判断与提取核心用法
python·正则表达式