5.2 · exercise

fix the loop bound

warning

This program is broken. Find the bug and fix it so the checks pass.

This program should compute n factorial, the product 1 * 2 * ... * n, and print it. With n set to 5 it runs and prints a number, but the number is wrong: the loop stops one step too early, so the last value never makes it into the product.

Find the loop's exit condition and correct the bound so every value from 1 through n is included. Leave the rest of the program as it is, and let the loop do the work rather than writing the result in directly.

what is checked

  • the corrected product is printed on its own line
  • the program exits cleanly
  • the product is still computed by the loop, not written in as a constant

Specification

args
stdoutprints the expected output
exitexits with the expected code
sourcecomputes the result (does not hardcode it)

Checked by running your program against expected behavior, never by matching a stored solution.

loading editor...
Open in playground