3792. Sum of Increasing Product Blocks π
Description
You are given an integer n.
A sequence is formed as follows:
- The
1stblock contains1. - The
2ndblock contains2 * 3. - The
ithblock is the product of the nexticonsecutive integers.
Let F(n) be the sum of the first n blocks.
Return an integer denoting F(n) modulo 109 + 7.
Example 1:
Input: n = 3
Output: 127
Explanation:βββββββ
- Block 1:
1 - Block 2:
2 * 3 = 6 - Block 3:
4 * 5 * 6 = 120
F(3) = 1 + 6 + 120 = 127
Example 2:
Input: n = 7
Output: 6997165
Explanation:
- Block 1:
1 - Block 2:
2 * 3 = 6 - Block 3:
4 * 5 * 6 = 120 - Block 4:
7 * 8 * 9 * 10 = 5040 - Block 5:
11 * 12 * 13 * 14 * 15 = 360360 - Block 6:
16 * 17 * 18 * 19 * 20 * 21 = 39070080 - Block 7:
22 * 23 * 24 * 25 * 26 * 27 * 28 = 5967561600
F(7) = 6006997207 % (109 + 7) = 6997165
Constraints:
1 <= n <= 1000
Solutions
Solution 1: Simulation
We can directly simulate the product of each block and accumulate it to the answer. Note that since the product can be very large, we need to take the modulo at each step of the calculation.
The time complexity is \(O(n^2)\), and the space complexity is \(O(1)\).
1 2 3 4 5 6 7 8 9 10 11 12 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |