ABC E 求调
  • 板块学术版
  • 楼主FormulaOne
  • 当前回复10
  • 已保存回复10
  • 发布时间2023/3/11 21:46
  • 上次更新2023/10/23 21:50:53
查看原帖
ABC E 求调
180406
FormulaOne楼主2023/3/11 21:46

rt

//
#include <iostream>

#include <cstdio>

#define int long long

using namespace std;

int a,n,m;
void Exgcd(int a, int b, int &x, int &y) 
{
    if (!b) x = 1, y = 0;
    else Exgcd(b, a % b, y, x), y -= a / b * x;
}

int ksm(int a,int b)

{

  int c=1;

  while(b)

  {

    if(b&1) c=c*a%m;

    b>>=1;

    a=a*a%m;

  }

  return c;

}

signed main()

{

  cin>>a>>n>>m;
	
  int x,y;

  Exgcd (a-1, m, x, y);
	
  x=(x%m+m)%m;

  cout<<(ksm(a,n)-1)%m*x%m;

  return 0;

}
2023/3/11 21:46
加载中...