F. Vasilije Loves Number Theory
题解
由于
这样一来
乘
最后在判断
code
#include<bits/stdc++.h>
#define ll long long
using namespace std;
bool mark[1000006]={0};
int prime[1000006];
void solve()
{
int n,q;
cin>>n>>q;
int tem=n;
map<int,int> yz;
while(n!=1)
{
yz[prime[n]]++;
n/=prime[n];
}
while(q--)
{
int op;
cin>>op;
if(op==2)
{
yz.clear();
n=tem;
while(n!=1)
{
yz[prime[n]]++;
n/=prime[n];
}
}
else
{
int x;
cin>>x;
while(x!=1)
{
yz[prime[x]]++;
x/=prime[x];
}
ll ans=1;
for(auto it:yz)
{
ans*=(it.second+1);
}
bool flag=1;
for(ll i=2;i*i<=ans;i++)
{
if(ans%i==0)
{
int cnt=0;
while(ans%i==0)
{
ans/=i;
cnt++;
}
if(yz[i]<cnt)
{
flag=0;
break;
}
}
}
if(ans>1)
{
if(yz[ans]<1) flag=0;
}
if(flag) cout<<"yes\n";
else cout<<"no\n";
}
}
cout<<'\n';
}
int main()
{
ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
for(ll i=2;i<=1e6;i++)
{
if(!mark[i])
{
prime[i]=i;
for(ll j=i*i;j<=1e6;j+=i)
{
if(!mark[i])
{
prime[j]=i;
mark[j]=1;
}
}
}
}
int t;
cin>>t;
while(t--) solve();
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~