zzuacm集训day3

来源:互联网 发布:linux网络重启命令 编辑:程序博客网 时间:2024/05/01 14:39

1.gcd求法

euclid

int gcd( int a, int b){int c;while ( b){c = a % b;a = b;b = c;}return a;}

二进制

int gcd( int a, int b ){    if( a == 0) return b;    if( b == 0) return a;    if( a % 2 == 0 && b % 2 == 0) return 2 * gcd( a / 2, b / 2);    else if( a % 2 == 0)        return gcd( a / 2, b);    else if( b % 2 == 0)        return gcd( a, b / 2);    else                       return gcd( abs( a - b), min( a, b));}


其他的晚点再补,最近好忙啊



0 0