📄 1003_tem.cpp
字号:
#include<iostream.h>
struct solution{
int num[100];};
solution s[2][10];
int win[30];
int main(){
long max,min;
while(cin>>max>>min){
int k=1;long s_temp;
if(max==min) continue;
if(min<=0||max<=0) continue;
if(max<min) {s_temp=max;max=min;min=s_temp;}
int i;
long t_mut=1;
for(i=2;i<=100;i++)
if(min%i==0) {t_mut=t_mut*i;}
if(t_mut==1) {win[k++]=max;cout<<win[1]<<endl;continue;}
int temp;int q;
int p1[3]={0,0,0};
for(q=1;q<=2;q++){
int m_t=1;
while(1){
if(q==1) temp=max;
else temp=min;
p1[q]++;int p2=0;int flag=0;
for(i=2;i<=100;i++)
if(i<=temp&&m_t<i&&temp%i==0&&(temp/i>i||temp/i==1))
{s[q][p1[q]].num[++p2]=i;temp/=i;flag=1;}
if(flag==0){p1[q]--; break;}
if(temp!=1) {m_t=s[q][p1[q]].num[1];p1[q]--;break;}
m_t=s[q][p1[q]-1].num[1];
}}
int tt=1,qq;int t_flag1;
for(i=1;i<=p1[1];i++){
for(q=1;q<=p1[2];q++){
qq=1;tt=1; t_flag1=0;
while(s[1][i].num[tt]!=0){
qq=1; t_flag1=1;
while(s[2][q].num[qq]!=0){
if(s[1][i].num[tt]==s[2][q].num[qq]) {goto loop2;}
qq++;
}
t_flag1=0;
tt++;}
if(t_flag1==0) win[k++]=max;goto end;
loop2:;
}
}
win[k++]=min;
end: cout<<win[1]<<endl;continue;
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -