比赛 hhh 评测结果 AAAAAAAAAA
题目名称 简单题233 最终得分 100
用户昵称 梦那边的美好ET 运行时间 0.044 s
代码语言 C++ 内存使用 2.49 MiB
提交时间 2018-07-31 10:05:27
显示代码纯文本
#include<iostream>
#include<cstring>
#include<cstdio>
#include<cmath>
#include<algorithm>
using namespace std;
const int MOD=23333333;
long long a,b,c,s[80001],ls=0,k[80001],ans=1,f;
bool bk[1000001];
int main(){
	freopen("hst.in","r",stdin);
	freopen("hst.out","w",stdout);
	cin>>a>>b;
	a-=1;b-=1;c=a+b;
	for(int i=2;i<=c;i++){
		if(!bk[i])s[++ls]=i;
		for(int j=1;j<=ls;j++){
			if(i*s[j]>c)break;
			bk[i*s[j]]=1;
			if(i%s[j]==0)break;
		}
	}
	for(int i=1;i<=ls;i++){
		long long p=s[i];
		while(p<=c){
			k[i]-=a/p;
			k[i]-=b/p;
			k[i]+=c/p;
			p*=s[i];
		}
		f=s[i];
		while(k[i]){
			if(k[i]&1){
				ans*=f;
				ans%=MOD;
			}
			f=(f*f)%MOD;
			k[i]>>=1;
		}
	}
	cout<<ans;
	return 0;	
}