"Verify that 126 decimal digits are needed to print N = (1/2)^126" -- Note that (5/10)^n = (1/2)^n hence n decimal digits are needed n = 126 N = (1/2)^n N -- convert N to decimal D D = 0 m = 0 loop( test(N == 0, break), N = 10 N, d = floor(N), D = 10 D + d, N = N - d, m = m + 1 -- digit counter ) -- end of loop D m check(m == n) check(D == 5^n) check(D / 10^n == (1/2)^n) "ok"
Run