﻿ Decay — Keep Talking and Nobody Explodes Module

## On the Subject of Decay

Everything falls apart...

The module displays 3 pressable symbols. In order to solve the module, press the symbols in the correct order. Any confusing terminology will be explained at the end of the manual.

### Step 1: Over-Complicated Prime Factorisation

...the numbers...

#### Step 1.1: Decrypting the display

The module displays 3 encrypted symbols. To decrypt each symbol individually, interpret the vertical bars as binary, where a vertical connected to the base is a 1 and a vertical disconnected from the base is a 0. Then add 2k-1 to this value, where k is the amount of vertical bars on the character. Interpret the three values as base-15 and convert it in its entirety to decimal. This number will be called n.

#### Step 1.2: Constructing the tree

Construct a tree consisting of nodes and branches. To construct the tree start with a node with [Vp=0; Vr=n]. For each unique prime factor P of Vr, create a child node with [Vp=P; Vr=(Vr,parent/P)+1]. Order the children in each node from lowest to highest Vp. This function should be applied to each node with Vr not being prime. This set of nodes will be called T

### Step 2: Neural Network Bit Cascade

...the module...

#### Step 2.1: Obtaining the binary

Before any other symbol has been pressed, the middle symbol can be pressed freely. Pressing this symbol will play a sequence of seven notes. This must be converted to a 7-digit sequence of binary. For each note evaluate the following: If the next note is higher than this one, return a 1, otherwise return a 0. For the last note, “the next note” refers to the first note. This set will be called Bi. Create an empty set called Bf. Then start with k being 1 and execute the following process: Take the first k digits of the Bi (repeating Bi where necessary), reverse it, and append it to Bf. Change k to k+1 and repeat. This process should be repeated until you have the necessary amount of binary for upcoming steps. You can always generate more if needed. Any time a bit is requested from Bf, take the first bit that has not been used already.

#### Step 2.2: Assigning the branches

Starting from the base node, go to each child in order. Then from this child, go to its children in order and repeat until you hit a node that has no children. Set [bparent=Bf,requested]. If a node has all bchild assigned, set [bparent=Σ(bchild)%2]. Continue this process until all branches b are assigned.

#### Step 2.3: Backpropagating

Start at the base node and set [Vb=1]. Then go to its children and set [Vb=Vb,parent⊻bparent]. Go down the entire tree using this process.

### Step 3: Quantum Logic

...and eventually...

#### Step 3.1: Obtaining the initial number sequence

Create a sequence S with [S1=Σ(Vp); S2=Σ(Vp*Vb)]. While Slast is not 0, append [Ssecond-last⨬Slast].

#### Step 3.2: Obtaining the fractions

Convert n to base b, where b=Length(S), and interpret every digit as an entry of a sequence S2. If S2 has an odd length, extend the sequence by prepending it with a 0. Then for each k set [S2k=SS2k+1]. Group these numbers in pairs and turn them into fractions as low/high. 0/0 should be turned into 1/2. The set of fractions will be called F.

#### Step 3.3: Making the truth table

Before you can apply logic you must make a truth table. For this truth table request 2Length(F) bits from Bf. Each bit will refer to a unique combination of 1s and 0s with a length equal to Length(F). The binary configurations should be ordered from low to high when interpreted as a number and then be connected to the requested bit. Call this truth table TT.

#### Step 3.4: Applying the quantum logic

Start with f=0. For each k where TTk,truth=1, apply the following: For each p, if TTk,p=0, temporarily set [Fp=1-Fp]. Then set [f=f+Π(F)] and change the temporarily changed values back. f should be kept as a fraction at all times.

### Step 4: Submission

#### Step 4.1: Obtaining the submission sequence

Create an empty sequence S3. Add ⌊f⌋ to S3 and then set [f=1/(f%1)]. Repeat until the numerator is 0.

#### Step 4.2: Submitting the answer

To submit S3, convert each value to binary. Enter the digits in these numbers from most to least significant using the left symbol for 0 and the right symbol for 1. The middle symbol is used to enter the current entry of the sequence. Pressing the middle symbol twice consecutively will submit the inputted sequence.

### Terminology

#### Symbols

• Σ(k): returns the sum of all k
• Π(k): returns the product of all k
• a%b: a modulo b; divides a by b and returns the remainder
• a⨬b: a reductive-modulo b; repeatedly subtracts b from a and then 1 from b, until a is less than b or b is 0. If b is 0, returns 0, otherwise returns a
• ⌊k⌋: floor(k); returns k rounded down to the nearest integer
• a⊻b: a xor b; returns 1 if either input but not both are 1, otherwise returns 0
• ab: b of a; used when a is a set and a specific item is needed. Returns the item requested by b

#### Words and methods

• Base conversion (b->10): To convert from base b to base 10, start with an answer of 0, then for each digit in order in the number, multiply your answer by b and add the digit to it.
• Base conversion (10->b): To convert from base 10 to base b, start with an empty set. Take the number modulo b and prepend it to the set. Then divide the number by b and round down. Repeat until the number has been reduced to 0.
• Decimal: base 10
• Binary: Base 2; a number base system only including 0 and 1
• Bit: A single binary character, being either 0 or 1.
• Prime: A number that is only divisible by 1 and itself. 1 is not prime.
• Prime factors: The prime numbers a number is divisible by. If it is divisible by a power of that prime, include the prime multiple times.
• Node: See the diagram to the right; Each node has a Vp, the prime value; a Vr, the remainder value; and a Vb, the binary value. Every node except for the base node has a parent, which is the node it is connected to one layer back. Some nodes have children. If a node has another node as the parent, it is the child of that node.
• Branch: The connection between 2 nodes; Each branch has a value b, the branch binary value. This will be referred to from either the child or the parent it is connecting and will be labeled oppositely.