1.虢莔薅参加运动会
解法:1^2+2^2+3^2+...n^2=n*(n+1)*(2*n+1)/6代入求解,注意6的逆元求法
题目类型:数论裸题
#include <bits/stdc++.h>
#define ll long long
using namespace std;
ll n,p;
ll pow_mod(ll a,ll x,ll p)
{
ll tmp=a%p,ans=1;
while(x>=1)
{
if(x%2==1)
ans=ans*tmp%p;
tmp=tmp*tmp%p;
x>>=1;
}
return ans;
}
ll inv(ll a,ll p)
{
ll ans=1;
ans=pow_mod(a,p-2,p);
return ans;
}
int main()
{
while(scanf("%lld%lld",&n,&p)!=EOF)//1^2+2^2+3^2+...n^2=n*(n+1)*(2*n+1)/6代入求解,注意6的逆元
{
ll INV=inv(6,p);
//printf("--%