Sha256: df7b3b5faa9d63f49111a8c702bc7d10f6151fb27ed4c6c85775a0a9dcd42a4c

Contents?: true

Size: 1.67 KB

Versions: 84

Compression:

Stored size: 1.67 KB

Contents

# Prime Factors

Compute the prime factors of a given natural number.

A prime number is only evenly divisible by itself and 1.

Note that 1 is not a prime number.

## Example

What are the prime factors of 60?

- Our first divisor is 2. 2 goes into 60, leaving 30.
- 2 goes into 30, leaving 15.
  - 2 doesn't go cleanly into 15. So let's move on to our next divisor, 3.
- 3 goes cleanly into 15, leaving 5.
  - 3 does not go cleanly into 5. The next possible factor is 4.
  - 4 does not go cleanly into 5. The next possible factor is 5.
- 5 does go cleanly into 5.
- We're left only with 1, so now, we're done.

Our successful divisors in that computation represent the list of prime
factors of 60: 2, 2, 3, and 5.

You can check this yourself:

- 2 * 2 * 3 * 5
- = 4 * 15
- = 60
- Success!

## Setup

Go through the setup instructions for JavaScript to install the
 necessary dependencies:

http://exercism.io/languages/javascript/installation

## Running the test suite

The provided test suite uses [Jasmine](https://jasmine.github.io/).
You can install it by opening a terminal window and running the
following command:

```sh
npm install -g jasmine
```

Run the test suite from the exercise directory with:

```sh
jasmine prime-factors.spec.js
```

In many test suites all but the first test have been marked "pending".
Once you get a test passing, activate the next one by changing `xit` to `it`.

## Source

The Prime Factors Kata by Uncle Bob [http://butunclebob.com/ArticleS.UncleBob.ThePrimeFactorsKata](http://butunclebob.com/ArticleS.UncleBob.ThePrimeFactorsKata)

## Submitting Incomplete Solutions
It's possible to submit an incomplete solution so you can see how others have completed the exercise.

Version data entries

84 entries across 84 versions & 1 rubygems

Version Path
trackler-2.2.1.119 tracks/javascript/exercises/prime-factors/README.md
trackler-2.2.1.118 tracks/javascript/exercises/prime-factors/README.md
trackler-2.2.1.117 tracks/javascript/exercises/prime-factors/README.md
trackler-2.2.1.116 tracks/javascript/exercises/prime-factors/README.md
trackler-2.2.1.115 tracks/javascript/exercises/prime-factors/README.md
trackler-2.2.1.114 tracks/javascript/exercises/prime-factors/README.md
trackler-2.2.1.113 tracks/javascript/exercises/prime-factors/README.md
trackler-2.2.1.111 tracks/javascript/exercises/prime-factors/README.md
trackler-2.2.1.110 tracks/javascript/exercises/prime-factors/README.md
trackler-2.2.1.109 tracks/javascript/exercises/prime-factors/README.md
trackler-2.2.1.108 tracks/javascript/exercises/prime-factors/README.md
trackler-2.2.1.107 tracks/javascript/exercises/prime-factors/README.md
trackler-2.2.1.106 tracks/javascript/exercises/prime-factors/README.md
trackler-2.2.1.105 tracks/javascript/exercises/prime-factors/README.md
trackler-2.2.1.104 tracks/javascript/exercises/prime-factors/README.md
trackler-2.2.1.103 tracks/javascript/exercises/prime-factors/README.md
trackler-2.2.1.102 tracks/javascript/exercises/prime-factors/README.md
trackler-2.2.1.101 tracks/javascript/exercises/prime-factors/README.md
trackler-2.2.1.100 tracks/javascript/exercises/prime-factors/README.md
trackler-2.2.1.99 tracks/javascript/exercises/prime-factors/README.md