Bidirectional Recurrence

Let:
$\begin{array}{ll} x(0)&=0 \\ x(1)&=1 \\ x(2k)&=(3x(k)+2x(\lfloor \frac k 2 \rfloor)) \text{ mod } 2^{60} \text{ for } k \ge 1 \text {, where } \lfloor \text { } \rfloor \text { is the floor function} \\ x(2k+1)&=(2x(k)+3x(\lfloor \frac k 2 \rfloor)) \text{ mod } 2^{60} \text{ for } k \ge 1 \\ y_n(k)&=\left\{{\begin{array}{lc} x(k) && \text{if } k \ge n \\ 2^{60} – 1 – max(y_n(2k),y_n(2k+1)) && \text{if } k < n \end{array}} \right. \\ A(n)&=y_n(1) \end{array}$ You are given: $\begin{array}{ll} x(2)&=3 \\ x(3)&=2 \\ x(4)&=11 \\ y_4(4)&=11 \\ y_4(3)&=2^{60}-9\\ y_4(2)&=2^{60}-12 \\ y_4(1)&=A(4)=8 \\ A(10)&=2^{60}-34\\ A(10^3)&=101881 \end{array}$ Find $A(10^{12})$.

To find the value of $f(10^{11})$ modulo $1,000,000,007$, we can use the concept of inclusion-exclusion principle.

Let’s first define a helper function, `gcd`, to calculate the greatest common divisor of two numbers:

“`python
def gcd(a, b):
while b != 0:
a, b = b, a % b
return a
“`

Next, we’ll define the function `is_2_friendly` which checks if two positive integers, `p` and `q`, are 2-friendly by calculating their greatest common divisor and checking if it is a power of 2:

“`python
def is_2_friendly(p, q):
return (gcd(p, q) & (gcd(p, q) – 1)) == 0
“`

Now, we can implement the main function `f` to calculate the number of pairs, `(p, q)`, of positive integers with `1 <= p < q <= n` such that `p` and `q` are 2-friendly: ```python def f(n): count = 0 for p in range(1, n): for q in range(p + 1, n + 1): if is_2_friendly(p, q): count += 1 return count % 1_000_000_007 ``` Finally, we can call the `f` function with `10**11` as the argument to find the value of `f(10**11)` modulo `1,000,000,007`: ```python result = f(10**11) print(result) ``` Please note that running this code directly may take a long time to compute due to the nested loops. You may consider optimizing the code or running it on a more powerful machine or in a distributed computing environment.

More Answers:
Counting Castles
Compromise or Persist
Square on the Inside

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

Share:

Recent Posts