Files
freeCodeCamp/curriculum/challenges/english/08-coding-interview-prep/project-euler/problem-69-totient-maximum.english.md
Kristofer Koishigawa 6cfd0fc503 fix: improve Project Euler descriptions, challenge seeds, and test cases (#38016)
* fix: improve Project Euler descriptions and test case

Improve formatting of Project Euler test descriptions. Also add poker hands array and new test case for problem 54

* feat: add typeof tests and gave functions proper names for first 100 challenges

* fix: continue fixing test descriptions and adding "before test" sections

* fix: address review comments

* fix: adjust grids in 18 and 67 and fix some text that reference files rather than the given arrays

* fix: implement bug fixes and improvements from review

* fix: remove console.log statements from seed and solution
2020-02-28 06:39:47 -06:00

1.6 KiB

id, challengeType, title, forumTopicId
id challengeType title forumTopicId
5900f3b11000cf542c50fec4 5 Problem 69: Totient maximum 302181

Description

Euler's Totient function, φ(n) [sometimes called the phi function], is used to determine the number of numbers less than n which are relatively prime to n. For example, as 1, 2, 4, 5, 7, and 8, are all less than nine and relatively prime to nine, φ(9)=6.

n Relatively Prime φ(n) n/φ(n)
2 1 1 2
3 1,2 2 1.5
4 1,3 2 2
5 1,2,3,4 4 1.25
6 1,5 2 3
7 1,2,3,4,5,6 6 1.1666...
8 1,3,5,7 4 2
9 1,2,4,5,7,8 6 1.5
10 1,3,7,9 4 2.5

It can be seen that n=6 produces a maximum n/φ(n) for n ≤ 10.

Find the value of n ≤ 1,000,000 for which n/φ(n) is a maximum.

Instructions

Tests

tests:
  - text: <code>totientMaximum()</code> should return a number.
    testString: assert(typeof totientMaximum() === 'number');
  - text: <code>totientMaximum()</code> should return 510510.
    testString: assert.strictEqual(totientMaximum(), 510510);

Challenge Seed

function totientMaximum() {
  // Good luck!
  return true;
}

totientMaximum();

Solution

// solution required