1003 Crashing Balloon

考察DFS的应用,判断两个数的因子。

 1 #include <stdio.h>

 2 

 3 int f1,f2;

 4 

 5 void DFS(int m,int n,int k){

 6     if(n==1){

 7         f2=1;

 8         if(m==1)

 9             f1=1;

10     }

11     if(f1&&f2||k==1)

12         return;

13     if(m%k==0)

14         DFS(m/k,n,k-1);

15     if(n%k==0)

16         DFS(m,n/k,k-1);

17     DFS(m,n,k-1);

18 }

19 

20 int main(){

21     int a,b,temp;

22     while(scanf("%d %d",&a,&b)>=0){

23         if(a<b){

24             temp=a;

25             a=b;

26             b=temp;

27         }

28         f1=f2=0;

29         DFS(a,b,100);

30         temp=(!f1&&f2)?b:a;

31         printf("%d\n",temp);

32     }

33     return 0;

34 }

 

你可能感兴趣的:(Crash)