求助,快速幂求逆元最后两个点TLE了
查看原帖
求助,快速幂求逆元最后两个点TLE了
474128
kiribati楼主2021/4/1 15:26
#include<iostream>
#include<stdio.h>
using namespace std;

typedef long long ll;
int n,p;

ll qmi(int a,int b,int k)
{
  ll res = 1;
  
  while(b)
  {
    if(b & 1 == 1) res = res * a % k;
	a = a * (ll)a % k;
	b = b >> 1; 
  }
  
  return res;
}

int main()
{
  scanf("%d%d",&n,&p);
  
  for(int i = 1;i <= n;i++)
    printf("%lld\n",qmi(i,p - 2,p));
  
  return 0;
}
2021/4/1 15:26
加载中...