Вот выражение в компьютерном коде (точнее, Python).Здесь n
- это позиция числа в вашей последовательности, начиная с 1
.Результатом этого выражения является n
-ое значение в вашей последовательности.
10 ** ((n+4)//3) * 2 ** ((n+4)%3) // 4
Как вы можете видеть по // 3
и % 3
в этом выражении, это работает путем разделения вашей последовательности на группыиз трех: 25, 50, 100
, 250, 500, 1000
и т. д. Мое выражение вычисляет последнее значение в этой группе из трех, которое является степенью 10
.Тогда мое выражение умножается на соответствующий дробный коэффициент, один из 1/4, 2/4, 4/4
.Это умножение на дробь выполняется путем умножения на числитель, который является степенью 2
, затем делением на 4
.
Обратите внимание, что n+4
используется дважды.Многие языки программирования, включая Python, имеют функцию divmod
, которая выполняет операции //
(целочисленное деление) и %
(целочисленный модуль) одновременно.Если вы используете функцию для вычисления, использование divmod
может облегчить понимание функции и, возможно, немного быстрее.Также обратите внимание, что я выбрал это выражение, поскольку его довольно легко перевести на другие вычислительные среды.Если в вашей среде нет операции //
или %
, это можно сделать с помощью функции int
или trunc
или аналогичной.Спросите, нужна ли вам помощь в переводе моего выражения в другую среду.
Печать первых 12 значений этой последовательности (n
- 1
- 12
) приводит к
10
25
50
100
250
500
1000
2500
5000
10000
25000
50000