01How Computers Work

Fully solved problem book

Fibonacci state traces

Set 3 of 3 · 16 worked questions. Predict your result before expanding the solution.

These worked traces are meant to build fluency through controlled variation. If several answers feel identical, try the next difficult value and look for the point where a carry, sign, branch, or selected memory address changes the outcome.

Sequential programs · Problem 0065

At Fibonacci iteration 64, what is the output and next pair of register values?

Try it on paper first. The worked answer is hidden below.

Reveal detailed solution →
  1. Iteration number 64 begins with the pair of registers a=10610209857723, b=17167680177565.
  2. The current output is register a, so the emitted term is 10610209857723.
  3. Calculate a temporary sum t = a+b = 10610209857723+17167680177565 = 27777890035288.
  4. Copy the previous value of b into the new a register.
  5. The new a is 17167680177565.
  6. Copy the computed temporary t into the new b register.
  7. The new b is 27777890035288.
  8. After the update, the pair is (17167680177565, 27777890035288).
  9. On the next iteration, the machine will emit 17167680177565.
  10. The ordering matters: updating a too early without a temporary could destroy a needed operand.
  11. This trace uses unlimited mathematical integers; an eight-bit real register would wrap far earlier.

Final answer: output 10610209857723; pair (17167680177565, 27777890035288)

Sequential programs · Problem 0066

At Fibonacci iteration 65, what is the output and next pair of register values?

Try it on paper first. The worked answer is hidden below.

Reveal detailed solution →
  1. Iteration number 65 begins with the pair of registers a=17167680177565, b=27777890035288.
  2. The current output is register a, so the emitted term is 17167680177565.
  3. Calculate a temporary sum t = a+b = 17167680177565+27777890035288 = 44945570212853.
  4. Copy the previous value of b into the new a register.
  5. The new a is 27777890035288.
  6. Copy the computed temporary t into the new b register.
  7. The new b is 44945570212853.
  8. After the update, the pair is (27777890035288, 44945570212853).
  9. On the next iteration, the machine will emit 27777890035288.
  10. The ordering matters: updating a too early without a temporary could destroy a needed operand.
  11. This trace uses unlimited mathematical integers; an eight-bit real register would wrap far earlier.

Final answer: output 17167680177565; pair (27777890035288, 44945570212853)

Sequential programs · Problem 0067

At Fibonacci iteration 66, what is the output and next pair of register values?

Try it on paper first. The worked answer is hidden below.

Reveal detailed solution →
  1. Iteration number 66 begins with the pair of registers a=27777890035288, b=44945570212853.
  2. The current output is register a, so the emitted term is 27777890035288.
  3. Calculate a temporary sum t = a+b = 27777890035288+44945570212853 = 72723460248141.
  4. Copy the previous value of b into the new a register.
  5. The new a is 44945570212853.
  6. Copy the computed temporary t into the new b register.
  7. The new b is 72723460248141.
  8. After the update, the pair is (44945570212853, 72723460248141).
  9. On the next iteration, the machine will emit 44945570212853.
  10. The ordering matters: updating a too early without a temporary could destroy a needed operand.
  11. This trace uses unlimited mathematical integers; an eight-bit real register would wrap far earlier.

Final answer: output 27777890035288; pair (44945570212853, 72723460248141)

Sequential programs · Problem 0068

At Fibonacci iteration 67, what is the output and next pair of register values?

Try it on paper first. The worked answer is hidden below.

Reveal detailed solution →
  1. Iteration number 67 begins with the pair of registers a=44945570212853, b=72723460248141.
  2. The current output is register a, so the emitted term is 44945570212853.
  3. Calculate a temporary sum t = a+b = 44945570212853+72723460248141 = 117669030460994.
  4. Copy the previous value of b into the new a register.
  5. The new a is 72723460248141.
  6. Copy the computed temporary t into the new b register.
  7. The new b is 117669030460994.
  8. After the update, the pair is (72723460248141, 117669030460994).
  9. On the next iteration, the machine will emit 72723460248141.
  10. The ordering matters: updating a too early without a temporary could destroy a needed operand.
  11. This trace uses unlimited mathematical integers; an eight-bit real register would wrap far earlier.

Final answer: output 44945570212853; pair (72723460248141, 117669030460994)

Sequential programs · Problem 0069

At Fibonacci iteration 68, what is the output and next pair of register values?

Try it on paper first. The worked answer is hidden below.

Reveal detailed solution →
  1. Iteration number 68 begins with the pair of registers a=72723460248141, b=117669030460994.
  2. The current output is register a, so the emitted term is 72723460248141.
  3. Calculate a temporary sum t = a+b = 72723460248141+117669030460994 = 190392490709135.
  4. Copy the previous value of b into the new a register.
  5. The new a is 117669030460994.
  6. Copy the computed temporary t into the new b register.
  7. The new b is 190392490709135.
  8. After the update, the pair is (117669030460994, 190392490709135).
  9. On the next iteration, the machine will emit 117669030460994.
  10. The ordering matters: updating a too early without a temporary could destroy a needed operand.
  11. This trace uses unlimited mathematical integers; an eight-bit real register would wrap far earlier.

Final answer: output 72723460248141; pair (117669030460994, 190392490709135)

Sequential programs · Problem 0070

At Fibonacci iteration 69, what is the output and next pair of register values?

Try it on paper first. The worked answer is hidden below.

Reveal detailed solution →
  1. Iteration number 69 begins with the pair of registers a=117669030460994, b=190392490709135.
  2. The current output is register a, so the emitted term is 117669030460994.
  3. Calculate a temporary sum t = a+b = 117669030460994+190392490709135 = 308061521170129.
  4. Copy the previous value of b into the new a register.
  5. The new a is 190392490709135.
  6. Copy the computed temporary t into the new b register.
  7. The new b is 308061521170129.
  8. After the update, the pair is (190392490709135, 308061521170129).
  9. On the next iteration, the machine will emit 190392490709135.
  10. The ordering matters: updating a too early without a temporary could destroy a needed operand.
  11. This trace uses unlimited mathematical integers; an eight-bit real register would wrap far earlier.

Final answer: output 117669030460994; pair (190392490709135, 308061521170129)

Sequential programs · Problem 0071

At Fibonacci iteration 70, what is the output and next pair of register values?

Try it on paper first. The worked answer is hidden below.

Reveal detailed solution →
  1. Iteration number 70 begins with the pair of registers a=190392490709135, b=308061521170129.
  2. The current output is register a, so the emitted term is 190392490709135.
  3. Calculate a temporary sum t = a+b = 190392490709135+308061521170129 = 498454011879264.
  4. Copy the previous value of b into the new a register.
  5. The new a is 308061521170129.
  6. Copy the computed temporary t into the new b register.
  7. The new b is 498454011879264.
  8. After the update, the pair is (308061521170129, 498454011879264).
  9. On the next iteration, the machine will emit 308061521170129.
  10. The ordering matters: updating a too early without a temporary could destroy a needed operand.
  11. This trace uses unlimited mathematical integers; an eight-bit real register would wrap far earlier.

Final answer: output 190392490709135; pair (308061521170129, 498454011879264)

Sequential programs · Problem 0072

At Fibonacci iteration 71, what is the output and next pair of register values?

Try it on paper first. The worked answer is hidden below.

Reveal detailed solution →
  1. Iteration number 71 begins with the pair of registers a=308061521170129, b=498454011879264.
  2. The current output is register a, so the emitted term is 308061521170129.
  3. Calculate a temporary sum t = a+b = 308061521170129+498454011879264 = 806515533049393.
  4. Copy the previous value of b into the new a register.
  5. The new a is 498454011879264.
  6. Copy the computed temporary t into the new b register.
  7. The new b is 806515533049393.
  8. After the update, the pair is (498454011879264, 806515533049393).
  9. On the next iteration, the machine will emit 498454011879264.
  10. The ordering matters: updating a too early without a temporary could destroy a needed operand.
  11. This trace uses unlimited mathematical integers; an eight-bit real register would wrap far earlier.

Final answer: output 308061521170129; pair (498454011879264, 806515533049393)

Sequential programs · Problem 0073

At Fibonacci iteration 72, what is the output and next pair of register values?

Try it on paper first. The worked answer is hidden below.

Reveal detailed solution →
  1. Iteration number 72 begins with the pair of registers a=498454011879264, b=806515533049393.
  2. The current output is register a, so the emitted term is 498454011879264.
  3. Calculate a temporary sum t = a+b = 498454011879264+806515533049393 = 1304969544928657.
  4. Copy the previous value of b into the new a register.
  5. The new a is 806515533049393.
  6. Copy the computed temporary t into the new b register.
  7. The new b is 1304969544928657.
  8. After the update, the pair is (806515533049393, 1304969544928657).
  9. On the next iteration, the machine will emit 806515533049393.
  10. The ordering matters: updating a too early without a temporary could destroy a needed operand.
  11. This trace uses unlimited mathematical integers; an eight-bit real register would wrap far earlier.

Final answer: output 498454011879264; pair (806515533049393, 1304969544928657)

Sequential programs · Problem 0074

At Fibonacci iteration 73, what is the output and next pair of register values?

Try it on paper first. The worked answer is hidden below.

Reveal detailed solution →
  1. Iteration number 73 begins with the pair of registers a=806515533049393, b=1304969544928657.
  2. The current output is register a, so the emitted term is 806515533049393.
  3. Calculate a temporary sum t = a+b = 806515533049393+1304969544928657 = 2111485077978050.
  4. Copy the previous value of b into the new a register.
  5. The new a is 1304969544928657.
  6. Copy the computed temporary t into the new b register.
  7. The new b is 2111485077978050.
  8. After the update, the pair is (1304969544928657, 2111485077978050).
  9. On the next iteration, the machine will emit 1304969544928657.
  10. The ordering matters: updating a too early without a temporary could destroy a needed operand.
  11. This trace uses unlimited mathematical integers; an eight-bit real register would wrap far earlier.

Final answer: output 806515533049393; pair (1304969544928657, 2111485077978050)

Sequential programs · Problem 0075

At Fibonacci iteration 74, what is the output and next pair of register values?

Try it on paper first. The worked answer is hidden below.

Reveal detailed solution →
  1. Iteration number 74 begins with the pair of registers a=1304969544928657, b=2111485077978050.
  2. The current output is register a, so the emitted term is 1304969544928657.
  3. Calculate a temporary sum t = a+b = 1304969544928657+2111485077978050 = 3416454622906707.
  4. Copy the previous value of b into the new a register.
  5. The new a is 2111485077978050.
  6. Copy the computed temporary t into the new b register.
  7. The new b is 3416454622906707.
  8. After the update, the pair is (2111485077978050, 3416454622906707).
  9. On the next iteration, the machine will emit 2111485077978050.
  10. The ordering matters: updating a too early without a temporary could destroy a needed operand.
  11. This trace uses unlimited mathematical integers; an eight-bit real register would wrap far earlier.

Final answer: output 1304969544928657; pair (2111485077978050, 3416454622906707)

Sequential programs · Problem 0076

At Fibonacci iteration 75, what is the output and next pair of register values?

Try it on paper first. The worked answer is hidden below.

Reveal detailed solution →
  1. Iteration number 75 begins with the pair of registers a=2111485077978050, b=3416454622906707.
  2. The current output is register a, so the emitted term is 2111485077978050.
  3. Calculate a temporary sum t = a+b = 2111485077978050+3416454622906707 = 5527939700884757.
  4. Copy the previous value of b into the new a register.
  5. The new a is 3416454622906707.
  6. Copy the computed temporary t into the new b register.
  7. The new b is 5527939700884757.
  8. After the update, the pair is (3416454622906707, 5527939700884757).
  9. On the next iteration, the machine will emit 3416454622906707.
  10. The ordering matters: updating a too early without a temporary could destroy a needed operand.
  11. This trace uses unlimited mathematical integers; an eight-bit real register would wrap far earlier.

Final answer: output 2111485077978050; pair (3416454622906707, 5527939700884757)

Sequential programs · Problem 0077

At Fibonacci iteration 76, what is the output and next pair of register values?

Try it on paper first. The worked answer is hidden below.

Reveal detailed solution →
  1. Iteration number 76 begins with the pair of registers a=3416454622906707, b=5527939700884757.
  2. The current output is register a, so the emitted term is 3416454622906707.
  3. Calculate a temporary sum t = a+b = 3416454622906707+5527939700884757 = 8944394323791464.
  4. Copy the previous value of b into the new a register.
  5. The new a is 5527939700884757.
  6. Copy the computed temporary t into the new b register.
  7. The new b is 8944394323791464.
  8. After the update, the pair is (5527939700884757, 8944394323791464).
  9. On the next iteration, the machine will emit 5527939700884757.
  10. The ordering matters: updating a too early without a temporary could destroy a needed operand.
  11. This trace uses unlimited mathematical integers; an eight-bit real register would wrap far earlier.

Final answer: output 3416454622906707; pair (5527939700884757, 8944394323791464)

Sequential programs · Problem 0078

At Fibonacci iteration 77, what is the output and next pair of register values?

Try it on paper first. The worked answer is hidden below.

Reveal detailed solution →
  1. Iteration number 77 begins with the pair of registers a=5527939700884757, b=8944394323791464.
  2. The current output is register a, so the emitted term is 5527939700884757.
  3. Calculate a temporary sum t = a+b = 5527939700884757+8944394323791464 = 14472334024676221.
  4. Copy the previous value of b into the new a register.
  5. The new a is 8944394323791464.
  6. Copy the computed temporary t into the new b register.
  7. The new b is 14472334024676221.
  8. After the update, the pair is (8944394323791464, 14472334024676221).
  9. On the next iteration, the machine will emit 8944394323791464.
  10. The ordering matters: updating a too early without a temporary could destroy a needed operand.
  11. This trace uses unlimited mathematical integers; an eight-bit real register would wrap far earlier.

Final answer: output 5527939700884757; pair (8944394323791464, 14472334024676221)

Sequential programs · Problem 0079

At Fibonacci iteration 78, what is the output and next pair of register values?

Try it on paper first. The worked answer is hidden below.

Reveal detailed solution →
  1. Iteration number 78 begins with the pair of registers a=8944394323791464, b=14472334024676221.
  2. The current output is register a, so the emitted term is 8944394323791464.
  3. Calculate a temporary sum t = a+b = 8944394323791464+14472334024676221 = 23416728348467685.
  4. Copy the previous value of b into the new a register.
  5. The new a is 14472334024676221.
  6. Copy the computed temporary t into the new b register.
  7. The new b is 23416728348467685.
  8. After the update, the pair is (14472334024676221, 23416728348467685).
  9. On the next iteration, the machine will emit 14472334024676221.
  10. The ordering matters: updating a too early without a temporary could destroy a needed operand.
  11. This trace uses unlimited mathematical integers; an eight-bit real register would wrap far earlier.

Final answer: output 8944394323791464; pair (14472334024676221, 23416728348467685)

Sequential programs · Problem 0080

At Fibonacci iteration 79, what is the output and next pair of register values?

Try it on paper first. The worked answer is hidden below.

Reveal detailed solution →
  1. Iteration number 79 begins with the pair of registers a=14472334024676221, b=23416728348467685.
  2. The current output is register a, so the emitted term is 14472334024676221.
  3. Calculate a temporary sum t = a+b = 14472334024676221+23416728348467685 = 37889062373143906.
  4. Copy the previous value of b into the new a register.
  5. The new a is 23416728348467685.
  6. Copy the computed temporary t into the new b register.
  7. The new b is 37889062373143906.
  8. After the update, the pair is (23416728348467685, 37889062373143906).
  9. On the next iteration, the machine will emit 23416728348467685.
  10. The ordering matters: updating a too early without a temporary could destroy a needed operand.
  11. This trace uses unlimited mathematical integers; an eight-bit real register would wrap far earlier.

Final answer: output 14472334024676221; pair (23416728348467685, 37889062373143906)