The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Project::Euler::Problem::P003 - Solutions for problem 003 - Max prime factor

VERSION

version 0.20

HOMEPAGE

http://projecteuler.net/index.php?section=problems&id=3

SYNOPSIS

    use Project::Euler::Problem::P003;
    my $p3 = Project::Euler::Problem::P003->new;

    my $default_answer = $p3->solve;

DESCRIPTION

This module is used to solve problem #003

Here we find the maximum prime factor of a given number. Math::Big::Factor is used to generate a prime wheel that finds all of the prime factors. From there it's a simple matter of taking the last one in the array to find the max value.

This will eventually be changed to use a custom-build prime generator to stay in the spirit of the Project Euler.

Problem Attributes

*None*

SETUP

Problem Number

    003

Problem Name

    Max prime factor

Problem Date

    02 November 2001

Problem Desc

The prime factors of 13195 are 5, 7, 13 and 29. What is the largest prime factor of the number 600,851,475,143?

Default Input

600,851,475,143

Default Answer

    6857

Has Input?

    Yes

Help Message

There is little to no customization for this problem, simply tell it what you want to factor with custom_input

INTERNAL FUNCTIONS

Validate Input

The restrictions on custom_input

    A positive integer

Solving the problem

Use factors_wheel to find all of the prime factors for the given number. Since the function always returns a sorted list, we can just return the last number in the returned array to find the max. In order to speed up the function whenever possible, a smaller wheel is generated if the number is less than 10 characters long

AUTHOR

Adam Lesperance <lespea@gmail.com>

COPYRIGHT AND LICENSE

This software is copyright (c) 2010 by Adam Lesperance.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.