#includeintgcd(inta,intb){if(!b)returna;returngcd(b,a%b);}intmain(){inta,b;scanf("%d%d",&a,&b);printf("%d\n",gcd(a,b));}这个就是数论上经典的用殴几里德算法求最大公约数。其时间复杂度约为7*min(a,b).它还有一个就是碾转相除法来解。