fork-commit-merge / fork-commit-merge

Fork, Commit, Merge. A project designed to help you familiarize yourself with the open source contribution workflow on GitHub!

Home Page:https://forkcommitmerge.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Fork, Commit, Merge - Easy Issue (Lisp)

nikohoffren opened this issue · comments

Fork, Commit, Merge - Easy Issue (Lisp)

Create a Function to Compute Factorial

Note: You don't have ask permission to start solving the issue or get assigned, since these issues are supposed to be always open for new contributors. The actions-user bot will reset the file back to previous state for the next contributor after your commit is merged. So you can just simply start working with the issue right away!

Description:

You are required to create a Lisp function named factorial that computes the factorial of a given number.

The factorial of a non-negative integer n is the product of all positive integers less than or equal to n. It is denoted by n!.

For example:
  • factorial(0) should return 1
  • factorial(4) should return 24 (because 4!=4×3×2×1=244!=4×3×2×1=24)

To get started, open the tasks/lisp/easy directory from the root of the project.
After that, open the factorial.lisp file to start implementing the solution!

To run the program, make sure you are in the right directory with this command:

cd tasks/lisp/easy

After that, simply type the command sbcl and hit Enter to start the SBCL REPL.
Then load the file with the command (load "factorial.lisp").
After loading, you can call the function (factorial 4) which should return 24.
If the function works like expected, you are ready to make a pull request!
You can exit the SBCL REPL by typing (quit) and then hitting Enter.


To work with this issue, you need to have Lisp installed to your local machine.
Check out README.md for more instructions of installing Lisp and how to make a pull request.

Feel free to ask any questions here if you have some problems!

Also, kindly give this project a star to enhance its visibility for new developers!