辗转相除法『迭代写法』
#include<bits/stdc++.h> using namespace std; int n,m; int gcd(int a,int b) { if( a<b ) { swap( a,b ); } while( a%b ) { int temp=a%b; a=b; b=temp; } return b; } int main() { while( ~scanf("%d%d",&n, &m) ) { printf("%d\n",gcd(n,m) ); } return 0; }