// you’re reading...

Project Euler Tools

Prime Factor Calculator

Fast Prime Factor Calculator

Prime Factor Calculator

This short program is written in JavaScript and uses the techniques discussed in Project Euler Problem 3 for determining the prime factors of a composite number. Clearly, prime numbers have only themselves as a prime factor (1 is never considered prime) and are identified as such.

The input is limited to an integer less than 2^53 == 9 007 199 254 740 992


Number to factor
Prime factors

Here’s the source code, complete with the HTML, that you can paste into a file and see how it works in your favorite browser:

<script language="JavaScript">
//Prime Factor Calculator
function handle_enter() {
  document.form.factors.value=factorsx(document.form.nx.value); 
}
function factorsx(n) {
    if (n < 2) { return "Neither Prime nor Composite" }
    if (n > 9007199254740991) { return "Number must be less than\n  2^53 == 9 007 199 254 740 992" }
    var response = n + ' = ';
    message = "This Number is Prime"
    var p = 2;
    var np = n
    while (p*p <= np) {      
        if (np % p == 0) { 
            response += p + ' x ';     
            np /= p;
        } else  p+= p>2? 2 : 1; 
    }
    return np==n? message : response + np;
}
</script>
<center>
<table bgcolor="#dddddd">
<tr><td>

<form name="form" method="post" onSubmit="if (this.submitted){return true;} else 
  { handle_enter(); return false; }">

<table>
<tr>
<td>Number to factor</td><td><input type="text" size=14 name="nx">
<input type="button" value="Click here for factors"
   onClick="form.factors.value=factorsx(form.nx.value)"></tr>
<tr>
<td style="vertical-align: top">Prime factors</td>
<td><textarea name="factors" rows=2 cols=40></textarea></td><td> </td></tr>
</table>
</form>

</td></tr></table>
</center>

prime factor calculator v 1.1

Discussion

No comments yet.

Post a comment