1003.txt

来自「浙江大学acm试题」· 文本 代码 · 共 98 行

TXT
98
字号
#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 + =
减小字号Ctrl + -
显示快捷键?