>>366
static int gbc1(int a, int b){
int c = (a < b)? a: b;

while (!((a % c == 0) && (b % c == 0)))
c--;

return c;
}

static int gbc2(int a, int b){
int temp;
int r;

if (a < b){
temp = a;
a = b;
b = temp;
}

while ((r = a % b) != 0){
a = b;
b = r;
}

return b;
}

検証はして無い