Curt Cutting

This challenge is about cutting cards. And therefore about probability and combinatorics.

You have a deck of cards. For convenience, we’ll just use A-9 to have a nice round 40 cards. You cut some number of cards. At least one quarter and less than 3/4. That’s a neat 20 possible number of cards. To keep things simple, make them all have a probability of 5%. Now, from this cutting you cut a number of single cards, shuffling in between cuts of course. Formally, that’s random selection with replacement. At some point, you will cut a card that you have seen previously. At this point, you stop. This cuts short the data you receive about the deck of cards; you haven’t seen half of them. Of course, one can always estimate the remaining number of cards. So say you cut 10 cards before a repetition (11 cards total), and that for some reason you cannot visually approximate how many cards are in the deck. The challenge is to determine the expected number of cards in the deck.

The expected number of cards, to put it simply, is the “best” guess for how many cards are in the deck given your information. “Best” means minimizing the average difference between the actual number and your guess.

Macrocephalous Measurements

Here is a very interesting system of equations which is rather intriguing to solve.

Illustrating the mechanism measuring the capacity of the large container.

We begin with this setup, which is actually a mechanism to measure a volume of air. The capacity of the large container on the left is being measured. Say, for example, it is being used by Joanne the scientist. She pulls the handle of the pneumatic cylinder on the bottom to use the system. This pulls the two connected plungers in the middle, compressing the air in the container. Depending on the size of the container, pressure increases at a different rate. Once it is high enough, the horses are balanced and the plungers come to a stop. From how much they lowered, the volume is determined. A rather efficient mechanism, requiring only that the container be airtight and very little material. There is one small problem. How can the capacity possibly be calculated? For a start to this challenge, the supplementary air tank is half a litre, neglect air in the tubing, and let the amount pulled be 50 mL. Create a formula to find the capacity of the container given the volume by which the cylinder is displaced; the volume that was pulled out of it. Perhaps go further and find a general formula.

Interlinear Interval

This challenge pertains to algebraic limits, and can be solved through calculus, clever arithmetic, graph theory, or other methods, though is only classified as the foremost.

n \in \mathbb{N} \\[4pt] \operatorname f : \mathbb{R}, \mathbb{Q} \to \mathbb{Q} \\[8pt] \operatorname f {(p, x)} = \begin{cases} p > x : x-\frac1{2n} \\[4pt] p < x : x+\frac1{2n} \\[4pt] p = x : x \end{cases}

The function f id defined above. Consider evaluating f recursively, starting at 0.5, with x as the previous result and p a random number from 0 to 1. Eventually an integer would be reached, and the average time to reach one could be found given n. The challenge is to find this average for as many n as possible, then infinitely many, and perhaps all.

Scrupulist Square

This challenge is spans all the way from graph theory, geometry, and calculus—to algebra and combinatorics.

Example set of points for N = 15

Consider a square with diagonal 1. In it, N points are randomly arranged. A graph is created from these points, such that the probability any 2 points touch is equal to 1 minus their distance. Choose a point at random on this graph. The challenge is to calculate a probability regarding this point: what is the probability that a randomly selected node connected to this one is connected to more nodes? Each node has a loop, so if the node was connected to no other nodes the probability of this is 0. For N=1 or 2, this probability is 0. Try to calculate at least one of the following: chance for a specific N > 2, limit of chance as N approaches infinity, and most difficult, generalized probability in terms of N.

Preposterous Primes

This scrupulous challenge is an algebraic one, and quite interesting.

Let a “prime factor connection” be a connection from two whole numbers A and B, such that:

  1. A and B share a common prime factor C
  2. A plus C equals B
  3. A divided by C is not prime

 For any whole number N, let the “prime connected set” of N be the set of all whole numbers that satisfy the following:

  1. For any number X in this set, N is part of its prime connected set
  2. All numbers prime connected to N are in this set
  3. This set is the minimum possible size given the first two requirements

 Let S(N) be the size of the prime connected set of N.

Does S(N) reach infinity eventually, or is it a fast growing but strictly finite function? If it reaches infinity, can you find the smallest value at which it is infinite? Try to prove it is so. If S(N) never reaches infinity, try to prove this. Good luck!

Fascinating Frequencies BONUS

This challenge has calculus and algebra.

We begin this problem by defining a few variables and functions, see below.
Let a ‘functional triangle’ be a relationship between three functions shown, denoted by the two large circles.
The properties of such are shown.
Then, a ‘meta-functional triangle’ is denoted in the same manner be a functional triangle with the given additional property.
The challenge is to find a meta-functional triangle. Good luck!

\text{let }x,\,y,\,z\in\R,\;x\leq y\leq z\\[8pt] \text{if }\;\exists!\;\{x,\,y,\,z\}: \operatorname fa=\operatorname gb=\operatorname hc\;\; \forall\;\;\{a,\,b,\,c\}\equiv\{x,\,y,\,z\},\\[4pt] \text{then }\;f\bigcirc g\bigcirc h\\[8pt] \text{if }\ f\bigcirc g\bigcirc h\;\ \text{and }\ f’\circledcirc g’\circledcirc h’,\ \;\text{then}\;f\circledcirc g\circledcirc h

Galvanizing Growth Python Simulation

import pandas as pd
from random import random
from math import floor, log
import matplotlib
from matplotlib import pyplot as plt
from numpy.random import normal
group = {}
growth = {}
countries = [('China', 137e7, 274e6), ('India', 127e7, 254e6), ('United States', 324e6, 648e5), ('Indonesia', 258e6, 516e5), ('Brazil', 206e6, 412e5), ('Pakistan', 202e6, 404e5), ('Nigeria', 186e6, 372e5), ('Bangladesh', 156e6, 312e5), ('Russia', 142e6, 284e5), ('Japan', 127e6, 254e5), ('Mexico', 123e6, 246e5), ('Philippines', 103e6, 206e5), ('Ethiopia', 102e6, 204e5), ('Vietnam', 953e5, 1906e4), ('Egypt', 947e5, 1894e4), ('Iran', 828e5, 1656e4), ('DR Congo', 813e5, 1626e4), ('Germany', 807e5, 1614e4), ('Turkey', 803e5, 1606e4), ('Thailand', 682e5, 1364e4), ('France', 668e5, 1336e4), ('United Kingdom', 644e5, 1288e4), ('Italy', 62e6, 124e5), ('Burma', 569e5, 1138e4), ('South Africa', 543e5, 1086e4), ('Tanzania', 525e5, 105e5), ('South Korea', 509e5, 1018e4), ('Spain', 486e5, 972e4), ('Colombia', 472e5, 944e4), ('Kenya', 468e5, 936e4), ('Ukraine', 442e5, 884e4), ('Argentina', 439e5, 878e4), ('Algeria', 403e5, 806e4), ('Poland', 385e5, 77e5), ('Uganda', 383e5, 766e4), ('Iraq', 381e5, 762e4), ('Sudan', 367e5, 734e4), ('Canada', 354e5, 708e4), ('Morocco', 337e5, 674e4), ('Afghanistan', 333e5, 666e4), ('Malaysia', 31e6, 62e5), ('Venezuela', 309e5, 618e4), ('Peru', 307e5, 614e4), ('Uzbekistan', 295e5, 59e5), ('Nepal', 29e6, 58e5), ('Saudi Arabia', 282e5, 564e4), ('Yemen', 274e5, 548e4), ('Ghana', 269e5, 538e4), ('Mozambique', 259e5, 518e4), ('North Korea', 251e5, 502e4)]
groupKeys = []
scale = 50
for i, j, k in countries:
  group[i] = [[0, j, 0, k]]
  growth[i] = [0]
  groupKeys.append(i)
group[groupKeys[0]] = [[13, countries[0][1]-13, 0, countries[0][2]]]
growth[groupKeys[0]] = [13]
e = 2.7183
def eDistribute(bottom, top, original):
  if(top == bottom):
    return top
  return top*e**((bottom-original)/(top-bottom))
def grow(sets, keys, past, index, spread=lambda a,b:1, expose=lambda a:1, expand=0.05, cut=5, spreadFactor=0.5, growthFactor=10):
  spreadSum = 0
  for i in keys:
    if(sets[i][index][0]+sets[i][index][1] == 0):
      adjExpand = 0
    else:
      adjExpand = expand * sets[i][index][1]/(sets[i][index][0]+sets[i][index][1])
    if(len(sets[i]) == index+1):
      sets[i].append([sets[i][index][0], sets[i][index][1], sets[i][index][2], sets[i][index][3]])
      past[i].append(0)
    for j in keys:
      if(i != j):
        currentSpread = spread(past[i], past[j])
        spreadSum -= currentSpread
        todaySpread = round(normal(1.5, 1)*eDistribute(0, spreadFactor, currentSpread)*sets[i][index][0]*expand)
        if(todaySpread > 0):
          if(len(sets[j]) == index+1):
            sets[j].append([sets[j][index][0]+todaySpread, sets[j][index][1]-todaySpread, sets[j][index][2], sets[j][index][3]])
            past[j].append(todaySpread)
          else:
            sets[j][index+1][0] += todaySpread
            sets[j][index+1][1] -= todaySpread
            if(sets[j][index+1][1] < 0):
              sets[j][index+1][0] += sets[j][index+1][1]
              sets[j][index+1][1] = 0
            past[j][index+1] += todaySpread
    currentSpread = expose(past[i])
    spreadSum -= currentSpread
    newGrowth = round(normal(1.5, 1)*eDistribute(0, growthFactor, currentSpread)*sets[i][index][0]*adjExpand)
    sets[i][index+1][0] += newGrowth
    sets[i][index+1][1] -= newGrowth
    past[i][index+1] += newGrowth
    if(sets[i][index+1][1] < 0):
      sets[i][index+1][0] += sets[i][index+1][1]
      past[i][index+1] -= sets[i][index+1][1]
      sets[i][index+1][1] = 0
    if(index >= cut):
      if(past[i][index-cut] > sets[i][index+1][0]):
        past[i][index-cut] = sets[i][index+1][0]
      sets[i][index+1][0] -= past[i][index-cut]
      sets[i][index+1][2] += past[i][index-cut]
  for one in sets:
    spreadSum += sets[one][index+1][0]
    if(sets[one][index+1][0] > sets[one][index+1][3]):
      spreadSum += 10*(sets[one][index+1][0]-sets[one][index+1][3])
  return spreadSum

impact = 0
impacts = {}
spreadFactor = 0.5
growthFactor = 1.25
meantime = 11
incperiod = 8
strictness = 100, 70
def adj(maxVal):
  def decorator(f):
    def wrapper(*args, **kwargs):
      raw = f(*args, **kwargs)
      if(raw < maxVal):
        return maxVal - raw
      return 0
    return wrapper
  return decorator
compensate = growthFactor*scale + spreadFactor*scale**2
def testAlgs(ban, close):
  i = 0
  impact = 0
  while i < 10:
    j = 0
    while i < 150:
      impacts[str(i)] = impact
      impact = floor(impact + compensate + grow(group, groupKeys, growth, i, spread=lambda a,b:ban(a, b, i-incperiod), expose = lambda a:close(a, i-incperiod), expand = 0.029, cut=meantime+incperiod, spreadFactor=spreadFactor, growthFactor=growthFactor))
      j += 1
  return impact / 10

Galvanizing Growth

This challenge on growth involves algebra, calculus, and some combinatorics.

Consider a pandemic outbreak. It begins with patient zero in a random country. For this challenge, only consider the countries with the 50 largest populations, rounded to four significant digits. Now, there are two ways the pandemic can grow. It can either expand within a country, or expand by travel to another country. There are then several methods to stop an outbreak: cutting travel, quarantining, and social distancing. The impact of a pandemic can be calculated by the net cost of these method, plus the cost of the sickness. Now, the more seriously we try to do any of these methods, the more costly and inefficient it will become. We express this with the first equation below for quarantine and social distancing, the second for travel restrictions. Now, let the expansion of a virus within a country be dictated by the third equation below, and the expansion between any two, the fourth. The cost of each case is then given by the fifth equation. The challenge is to find a general formula, given a segment of a countries net cases curve, to determine how much a country should enact social distancing, and how strictly it should quarantine victims. And another, complementary function, given curve segments for two countries, that will give the restriction on travel that the first should impose on the latter. The curves represent the data from an incubation period, x, ago, and this is randomly generated each pandemic be the sixth equation. They recover after a recovery time, y, given by the seventh. In the below equations, cn represents money spent on efforts in country n, in cost of cases in country n, pn is population, and r is random number 0 ≤ r < 1, different each time. anx gives the number of interactions between people, with an1 within a country, an2 between two. sn is the number of cases in country n, and gn is the number of new cases in that country from that country. gab is the number of new cases spread from b to a. Good luck! A python simulation of this has been published for you to test your strategy.

a_{n1}=125\ e^\frac{-c_n}{100}\\[8pt] a_{n2}=5\ e^\frac{-c}{5}\\[16pt] g_n=\left\lfloor a_{n1}s_n{\left({3-2\sqrt2\operatorname{erfc^{-1}}{(r)}\over200}\right)}\left(1-\frac{s_n}{p_n}\right)\right\rfloor\\[16pt] g_{a_b}=\left\lfloor a_{b2}s_b{\left({3-2\sqrt2\operatorname{erfc^{-1}}{(r)}\over200}\right)}\left(1-\frac{s_a}{p_a}\right)\right\rfloor\\[16pt] i_n=s_n+10\left(s_n-\frac{p_n}5+|s_n-\frac{p_n}5|\right)\\[16pt] x=5-3\sqrt2\operatorname{erfc^{-1}}{(2r)}\\[8pt] y=11-5\sqrt2\operatorname{erfc^{-1}}{(2r)}

Seriocomic Set

This challenge requires some knowledge of calculus and trigonometry, but mainly algebra.

We begin this challenge with a set of 4 numbers which has the following properties. Can you find them? If you can, good for you. But do you understand the use of this week’s adjective?

a,\,b,\,c,\,d\in\mathbb Z\\[8pt] a\leqslant b\leqslant c\leqslant d\\[8pt] a+b+3=a+d=\cos'{\pi}\\[8pt] \int \frac{d-c}a+1\;\;\delta a\bigg\lt\cos'{(a+b)\pi}\bigg\lt\int\frac{1-a}b-2\;\;\delta b\\[8pt] 0\lt|bc|+1\leqslant a+b+c+d\lt5\\[8pt] bc\notin\{a^2|a\in\mathbb N\}

Note: when calculating integrals, assume the ‘+c’ that you would add at the end is equal to the variable c.

Radical Rectangles

This challenges covers geometry and algebra.

We have 3 rectangles, X Y and Z. Rectangle X has sides with lengths A and B. Rectangle Y, C and D, and rectangle Z, D and E. Rectangle X has the same perimeter as rectangle Y and the same area as rectangle Z. The total perimeter of the three rectangles is 46 centimetres, and the total area, 39 square centimetres. All sides have integral centimetre lengths. Find the sum A+B+C+D+E.