08/11/11 21:52:31
>>608
n 個の正数は a[] に入力されているとして。
#include <stdio.h>
int gcd(int x, int y)
{
int r;
if (x < y) {
int t = x; x = y; y = t;
}
do {
r = x % y; x = y; y = r;
} while (r != 0);
return x;
}
int main(int argc, char *argv[])
{
int a[] = { 121, 11, 14641, 1331};
int n = 4;
int i, g;
g = a[0];
printf("gcd(%d", a[0]);
for (i = 1; i < n; i++) {
printf(", %d", a[i]);
g = gcd(g, a[i]);
}
printf(") = %d\n", g);
return 0;
}