Рассмотрим три последовательности чисел A
, B
и C
:
A
: Последовательность, основанная на рекуррентных отношенияхf(n) = f(n-1)+f(n-2)
, начиная сf(1) = 3, f(2) = 4
. Итак, последовательность начинается так:3 4 7 11 18 29 47 76 ...
B
: Составные числа , то есть все целые числа, которые не являются простыми числами (или 1):4 6 8 9 10 12 14 15 16 ...
C
Цифры Пи:3 1 4 1 5 9 2 6 5 ...
Если задано положительное целое число в N < 50
качестве аргумента функции или STDIN, вернуть десятичное значение дроби A(N)/B(N)
с C(N)
цифрами после десятичной точки. Применяются обычные правила округления (округление в большую сторону, если цифра N + 1 - 5 или выше). Если N-ая цифра pi
равна нулю, должно быть напечатано целое число. научная нотация / Стандартная форма принимается для номеров выше 1000.
Это код гольфа, поэтому выигрывает самый короткий ответ в байтах.
Несколько примеров:
N = 1: 0.750
N = 2: 0.7
N = 3: 0.8750
N = 4: 1.2
N = 6: 2.416666667
N = 10: 11.056
N = 20: 764.8750
Конечно, применяются стандартные правила игры в гольф.
Функция должна завершиться менее чем за две минуты на любом современном ноутбуке.
N
? Если так, то до N = 49. Или что-то еще?
C(n)
цифры, мы должны включить конечные 0?