ZOJ 1003

来源:互联网 发布:a11仿生芯片知乎 编辑:程序博客网 时间:2024/05/22 00:45

judge函数是怎么执行的?求问

/*函数不是很懂??????*/#include<iostream>#include<stdio.h>#include<algorithm>using namespace std;bool atrue, btrue;int judge(int m, int n, int p){    if (atrue)        return 0;    if (m == 1 && n == 1)  //均正确    {        atrue = true;        return 0;    }    if (n == 1)   //如果b正确,即赢    {        btrue = true;    }    while (p > 1)    {        if (m%p == 0)    //p是m的因子        {            judge(m / p, n, p - 1);        }        if (n%p == 0)    //p是n的因子        {            judge(m, n / p, p - 1);        }        p--;    }    return 0;}int main(){    int a, b;    while (cin >> a >> b)    {        if (a < b)            swap(a, b);        atrue = false;        btrue = false;        judge(a, b, 100);        if (!atrue&&btrue)            cout << b << endl;        else            cout << a << endl;    }    return 0;}