
/* 田中 C言語 演習5 */

#include <stdio.h>

/* main関数の定義 */
int main(void)
{
	int a[100];		//互除法を行う自然数を入れる配列
	int num;
	int i;

	printf("ユークリッドの互除法を用いて2つの自然数の最大公約数を求めます。\n");

/* 二つの自然数の標準入力・確認 */
	printf("1つ目の自然数を入力してください。(0<n)\n");
	scanf("%d", &a[0]);
	printf("入力された自然数は%dです。\n", a[0]);

	printf("2つ目の自然数を入力してください。(0<n)\n");
	scanf("%d", &a[1]);
	printf("入力された自然数は%dです。\n", a[1]);


/* エラー処理 */
	if( a[0] <= 0 || a[1] <= 0){
		printf("0以上の数値を入力してください\n");
		return 1;
	}


/* a>bになるように調整 */
	if(a[1] > a[0]){
		num = a[0];
		a[0] = a[1];
		a[1] = num;		 
	}

/* 計算処理 */
	for(i=2; i<100 ;i++){
		a[i] = a[i-2] % a[i-1];
		if(a[i] == 0){
		printf("%dと%dの最大公約数は%dです\n", a[0], a[1], a[i-1]);
		break;
		}
	}

	return 0;
}