You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
958 B
PHTML
40 lines
958 B
PHTML
9 years ago
|
<?php
|
||
|
/*
|
||
|
* Gnieark's anwser to euler problem 3
|
||
|
* https://projecteuler.net/problem=3
|
||
|
*/
|
||
|
|
||
|
echo largestPrimeFactorOf(600851475143);
|
||
|
function largestPrimeFactorOf($number){
|
||
|
$primesNumbers=array(2);//non considering value 1
|
||
|
$i=3; //begin to 3
|
||
|
|
||
9 years ago
|
while($i<=sqrt($number)){
|
||
9 years ago
|
//echo $i;
|
||
|
//is $i a factorOf $number
|
||
|
if(fmod($number,$i)==0){
|
||
|
//is $i a prime number
|
||
|
$index=0;
|
||
|
$isPr=true;
|
||
|
while(($primesNumbers[$index]<sqrt($i)) && $index < (count($primesNumbers))-1){
|
||
|
if((fmod($i,$primesNumbers[$index])==0)){
|
||
|
$isPr=false;
|
||
|
break;
|
||
|
}
|
||
|
$index++;
|
||
|
}
|
||
|
if($isPr){
|
||
|
$primesNumbers[]=$i;
|
||
|
$lastPr=$i;
|
||
|
}
|
||
|
|
||
|
}
|
||
|
$i=$i+2;
|
||
|
}
|
||
|
if (isset($lastPr)){
|
||
|
return $lastPr;
|
||
|
}else{
|
||
|
return 1;
|
||
|
}
|
||
9 years ago
|
}
|