【快速幂、欧拉函数】蓝桥杯第十四届---互质数的个数

给定 a, b,求 1 ≤ x < a^b 中有多少个 x 与 a^b 互质。由于答案可能很大,你只需要输出答案对 998244353 取模的结果。

输入格式

输入一行包含两个整数分别表示 a, b,用一个空格分隔。

输出格式

输出一行包含一个整数表示答案。

样例输入

2 5

样例输出

16

提示

对于 30% 的评测用例,a^b ≤ 10^6 ;

对于 70% 的评测用例,a ≤ 106,b ≤ 10^9 ;

对于所有评测用例,1 ≤ a ≤ 10^9,1 ≤ b ≤ 101^8 。

#include<iostream>
using namespace std;
typedef long long LL;
const int mod=998244353;
LL quick_pow(LL a,LL b){
	LL res=1;
	while(b){
		if(b&1) res=res*a%mod;
		a=a*a%mod;
		b>>=1;
	}
	return res;
}
LL eu(LL n){
	LL res=n;
	for(LL i=2;i<=n/i;i++){
		if(n%i==0){
			res=res*(i-1)/i%mod;
			while(n%i==0) n/=i;
		}
	}
	if(n>1) res=res*(n-1)/n%mod;
	return res;
}
int main(){
	LL a,b;
	cin>>a>>b;
	LL n=quick_pow(a,b);
	cout<<eu(n)%mod<<endl;
	return 0;
}

相关推荐

  1. 三国游戏(

    2024-03-22 12:50:02       48 阅读
  2. 三国游戏

    2024-03-22 12:50:02       41 阅读
  3. 2018年省赛真题-复数

    2024-03-22 12:50:02       45 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-22 12:50:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-22 12:50:02       101 阅读
  3. 在Django里面运行非项目文件

    2024-03-22 12:50:02       82 阅读
  4. Python语言-面向对象

    2024-03-22 12:50:02       91 阅读

热门阅读

  1. 【蓝桥杯常考题型汇总】

    2024-03-22 12:50:02       45 阅读
  2. QT(19)-QNetworkRequest

    2024-03-22 12:50:02       44 阅读
  3. docker基础(四)之docker run(第一弹)

    2024-03-22 12:50:02       36 阅读
  4. Ubuntu下搭建UEFI下PXE服务端(详细)总结

    2024-03-22 12:50:02       42 阅读
  5. Redis 常用数据类型,各自的使用场景是什么?

    2024-03-22 12:50:02       38 阅读
  6. 智能驾驶安全包含哪些内容?

    2024-03-22 12:50:02       47 阅读