#/*********************************************************** #repdec.c -- 小数の循環節 #***********************************************************/ N = 1000 BASE = 10 a = []; p =[] for i in 0...N; p[i] = 0; end begin printf("分母 n = "); n = gets.to_i if (n > N); printf("%u 以下にしてください.\n", N); end end while (n > N) printf("分子 m = "); m = gets.to_i a[0] = m / n; m %= n; k = 0 begin p[m] = (k += 1) m *= BASE; a[k] = m / n; m %= n end while (p[m] == 0) printf("%u.", a[0]) for i in 1...p[m]; printf("%u", a[i]); end if (p[m] < k || a[k] != 0) printf("{") for i in p[m]..k; printf("%u", a[i]); end printf("}") end printf("\n") exit 0