社区讨论
40pts求调
P13880[蓝桥杯 2023 省 Java A] 互质数的个数参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mhj9d0cq
- 此快照首次捕获于
- 2025/11/03 22:51 4 个月前
- 此快照最后确认于
- 2025/11/03 22:51 4 个月前
CPP
#include <iostream>
#include <bits/stdc++.h>
#define int long long
using namespace std;
const int M= 998244353;
int a,b;
vector<int> divv;
void divvide(int x)
{
for(int i=2;i<=x/i;i++)
{
if(x%i==0)
{
divv.push_back(i);
while(x%i==0) x/=i;
}
}
if(x>1) divv.push_back(x);
}
int qmi(int a,int k,int p)
{
int res=1;
while(k)
{
if(k&1)
{
res=(res*a)%p;
}
k>>=1;
a*=a;
a%=p;
}
return res;
}
signed main()
{
cin >> a >> b;
int tmp=qmi(a,b,M);
for(int i=2;i<=a/i;i++)
{
if(a%i==0)
{
while(a%i==0) a/=i;
tmp=tmp/i*(i-1);
}
}
if(a>1) tmp=tmp/a*(a-1);
cout << tmp;
return 0;
}
回复
共 0 条回复,欢迎继续交流。
正在加载回复...