📄 1003.txt
字号:
#include<iostream>
#include<cmath>
using namespace std;
//fail or true
const int MAX=100;
bool UsedBalloon[MAX+1];
bool CanFactor(int i,int b)
{
if(b==1)
{
return true;
}
else
{
while(i<=MAX)
{ if((!UsedBalloon[i])&&((b%i)==0))
{
break;
}
else
{
i++;
}
}
if(i>MAX) return false;
if(CanFactor(i+1, b/i))
{
return true;
}
else
{
return CanFactor(i+1,b);
}
}
}
bool IsPossible(int i,int a,int b)
{
if(i>MAX) return false;
if(a==1) return (CanFactor(1, b));
while(i<=MAX)
{
if((a%i)==0)
{
break;
}
else
{
i++;
}
}
if(i>MAX) return false;
UsedBalloon[i]=true;
if(IsPossible(i+1,a/i,b))
return true;
UsedBalloon[i]=false;
return(IsPossible(i+1,a,b));
}
int GetWinner(int a,int b)
{
for(int i=0; i<MAX+1;i++)
{
UsedBalloon[i] = false;
}
if(a<b)
{
int temp=a;
a=b;
b=temp;
}
if((CanFactor(1,b)==false)&&(b>100))
{
return a;
}
else if(IsPossible(1,a,b))
{
return a;
}
else
{
return b;
}
}
int main()
{
int a, b;
while(cin>>a>>b)
{
cout<<GetWinner(a,b)<<endl;
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -