#include <stdio.h>

#define N 100

int div(int x)
{
	int r = 1;	// remainder 余り
	int q;		// quotient 商
	int m[N];	// メモリー
	int i, j;

	m[0] = r;
	printf("0.");
	for (i = 1; i < N; i++) {
		r *= 10;
		q = r / x;
		printf("%d", q);
		r -= x * q;
		if (r <= 0) return 0;	// 割り切れる
		for (j = 0; j < i; j++) {
			if (m[j] == r) return i;	// 循環小数
		}
		m[i] = r;
	}
	return -1;	// 配列が足りない
}

int main()
{
	int x;
	int n;	// 循環節
	int i = 0;	// 一番長い循環節

	for (x = 2; x <= N; x++) {
		n = div(x);
		printf("\nx=%d n=%d\n", x, n);
		if (i < n) i = n;
	}
	printf("i=%d\n", i);
	return 0;
}
