因子和,求调,34分,谢谢大佬,玄关!!!
  • 板块学术版
  • 楼主Diplomacy
  • 当前回复1
  • 已保存回复1
  • 发布时间2025/1/26 16:52
  • 上次更新2025/1/26 21:10:47
查看原帖
因子和,求调,34分,谢谢大佬,玄关!!!
1643422
Diplomacy楼主2025/1/26 16:52
#include<bits/stdc++.h>
using namespace std;
const int X=9901;
int m,n;
long long qmi(int a,int b)
{
	
	long long ans=1;
	while(b!=0)
	{
		if (b&1==1)
		ans=(ans*a)%X;
		a=a*a%X;
		b=b>>1;
	}
	return ans%X;
}
long long sum(int p,int c)
{
	if (c==0) return 1;
	if (c==1) return (1+p)%X;
	if (c%2==1)
	{
		return (1+qmi(p,(c+1)/2))%X*sum(p,(c-1)/2)%X;
	}
	else
	{
		return (1+qmi(p,c/2))*sum(p,c/2-1)+qmi(p,c);
	}

}
int main()
{
	unsigned long long x=1;
	cin>>m>>n;
	if (m==0)
	{
		cout<<0;
		return 0;
    }
    if (m==1)
    {
    	cout<<1;
    	return 0;
    }
	for (int i=2;i<=sqrt(m);i++)
	{
		if(m%i==0)
		{
			int cnt=0;
			while(m%i==0)
			{
				m=m/i;
				cnt++;
			}
			x=x*sum(m,cnt*n)%X;
		}
	}
	if (m > 1) 
	{ 
        x=x*sum(m, n) % X;
    }
	cout<<x;
	return 0;
}
2025/1/26 16:52
加载中...