Задачка перед сном, чтобы размять мозг.
Задана последовательность: Sn = T1 + T2 + T3 + … + Tn
Где:
n >= 1 && n <= 10^16
Tn = n^2 - (n - 1)^2
Нужно написать метод, который принимает на вход n (типа long) и возвращает посчитанное значение S (типа BigInteger, либо int, но тогда это должен быть остаток от деления на 10^9 + 7).
Метод должен отработать меньше чем за 1 сек.
Значиния n возьмите равными 10, 10^3, 10^6, 10^9 и 10^16
*поправил BigDecimal на BigInteger
Задана последовательность: Sn = T1 + T2 + T3 + … + Tn
Где:
n >= 1 && n <= 10^16
Tn = n^2 - (n - 1)^2
Нужно написать метод, который принимает на вход n (типа long) и возвращает посчитанное значение S (типа BigInteger, либо int, но тогда это должен быть остаток от деления на 10^9 + 7).
Метод должен отработать меньше чем за 1 сек.
Значиния n возьмите равными 10, 10^3, 10^6, 10^9 и 10^16
*поправил BigDecimal на BigInteger