PyPE solution to PE problem 69

Registered by Scott Armitage

PyPE solution to PE problem 69

Blueprint information

Status:
Complete
Approver:
None
Priority:
Undefined
Drafter:
None
Direction:
Needs approval
Assignee:
None
Definition:
Approved
Series goal:
None
Implementation:
Implemented
Milestone target:
None
Started by
Scott Armitage
Completed by
Scott Armitage

Related branches

Sprints

Whiteboard

    ProjectEuler.net problem 69
    ===========================

    Euler's Totient function, f(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, f(9)=6.

        n Relatively Prime f(n) n/f(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/f(n) for n = 10.

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

    Solution
    --------

    In order to maximize n/f(n), we want to minimize f(n). We note that if n is
    a multiple of 2, then every other number below it will be coprime. Further,
    we note that if n is a multiple of 3, then every /third/ number below it
    will be coprime. This continues for the sequence of primes.

    So, to obtain our answer, we begin with a set containing all possible values
    of n, then iterate through the prime numbers, removing all multiples of
    each prime number from the set until the length of the set reaches 1.

    Answer
    ------

    510510

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.