Superinteger

An integer $s$ is called a superinteger of another integer $n$ if the digits of $n$ form a subsequenceA subsequence is a sequence that can be derived from another sequence by deleting some elements without changing the order of the remaining elements. of the digits of $s$.
For example, $2718281828$ is a superinteger of $18828$, while $314159$ is not a superinteger of $151$.

Let $p(n)$ be the $n$th prime number, and let $c(n)$ be the $n$th composite number. For example, $p(1) = 2$, $p(10) = 29$, $c(1)$ = 4 and $c(10) = 18$.
$\{p(i) : i \ge 1\} = \{2, 3, 5, 7, 11, 13, 17, 19, 23, 29, \dots\}$
$\{c(i) : i \ge 1\} = \{4, 6, 8, 9, 10, 12, 14, 15, 16, 18, \dots\}$
Let $P^D$ be the sequence of the digital roots of $\{p(i)\}$ ($C^D$ is defined similarly for $\{c(i)\}$):
$P^D = \{2, 3, 5, 7, 2, 4, 8, 1, 5, 2, \dots\}$
$C^D = \{4, 6, 8, 9, 1, 3, 5, 6, 7, 9, \dots\}$
Let $P_n$ be the integer formed by concatenating the first $n$ elements of $P^D$ ($C_n$ is defined similarly for $C^D$).
$P_{10} = 2357248152$
$C_{10} = 4689135679$
Let $f(n)$ be the smallest positive integer that is a common superinteger of $P_n$ and $C_n$. For example, $f(10) = 2357246891352679$, and $f(100) \bmod 1\,000\,000\,007 = 771661825$.
Find $f(10\,000) \bmod 1\,000\,000\,007$.

To solve this problem, we can use the concept of dynamic programming. We will create a function that calculates the maximum score for Player 1, given a sequence of numbers.

Let’s define a function `max_score(nums)` that takes a list of numbers and returns the maximum score for Player 1. Here’s the Python code:

“`python
def max_score(nums):
n = len(nums)
dp = [[0] * n for _ in range(n)] # dp[i][j] represents the maximum score between indices i and j

for i in range(n-1, -1, -1):
for j in range(i, n):
if i == j:
dp[i][j] = nums[i]
else:
dp[i][j] = max(nums[i] – dp[i+1][j], nums[j] – dp[i][j-1])

return dp[0][n-1]
“`

Now, let’s use this function to calculate `F(10^8)`.

“`python
MOD = int(1e9) + 7

s = [0] # sequence s starts with 0
for i in range(1, int(1e8)+1):
s.append((s[-1]**2 + 45) % MOD)

result = max_score(s)
print(result)
“`

This code will output the maximum score for Player 1, `F(10^8)`. Note that the computational complexity of this solution is O(N^2), where N is the length of the sequence s. Therefore, it might take some time to execute for large values of N.

More Answers:
A Weird Recurrence Relation
Möbius Function and Intervals
Distinct Terms in a Multiplication Table

Error 403 The request cannot be completed because you have exceeded your quota. : quotaExceeded

Share:

Recent Posts

Mathematics in Cancer Treatment

How Mathematics is Transforming Cancer Treatment Mathematics plays an increasingly vital role in the fight against cancer mesothelioma. From optimizing drug delivery systems to personalizing

Read More »