From 27fd0bf2eaf03ba93ea5927693705d089fde2b0d Mon Sep 17 00:00:00 2001 From: Jens True Date: Wed, 26 Jun 2024 13:16:36 +0000 Subject: [PATCH] Few more challenges on ProjectEuler --- ProjectEuler/027/problem27.php | 30 + ProjectEuler/031/problem31.php | 34 + ProjectEuler/033/problem33.php | 24 + ProjectEuler/035/problem35.php | 61 + ProjectEuler/045/problem45.php | 47 + primes100.txt | 100 + primes1000.txt | 1000 + primes10000.txt | 10000 + primes1000000.txt | 1000000 +++++++++++++++++++++++++++++ 9 files changed, 1011296 insertions(+) create mode 100644 ProjectEuler/027/problem27.php create mode 100644 ProjectEuler/031/problem31.php create mode 100644 ProjectEuler/033/problem33.php create mode 100644 ProjectEuler/035/problem35.php create mode 100644 ProjectEuler/045/problem45.php create mode 100644 primes100.txt create mode 100644 primes1000.txt create mode 100644 primes10000.txt create mode 100644 primes1000000.txt diff --git a/ProjectEuler/027/problem27.php b/ProjectEuler/027/problem27.php new file mode 100644 index 0000000..d019fa5 --- /dev/null +++ b/ProjectEuler/027/problem27.php @@ -0,0 +1,30 @@ + $max_primes) { + $max_primes = $n; + echo "max: $n a: $a b: $b\n"; + } + } + } +} \ No newline at end of file diff --git a/ProjectEuler/031/problem31.php b/ProjectEuler/031/problem31.php new file mode 100644 index 0000000..7a2315d --- /dev/null +++ b/ProjectEuler/031/problem31.php @@ -0,0 +1,34 @@ += 1000000) + break; + //If there's an even digit (or a 5) we can instantly exclude it as when rotated it will not not be a prime. + if ( + strpos((string) $data[1], "0") !== false || + strpos((string) $data[1], "2") !== false || + strpos((string) $data[1], "4") !== false || + strpos((string) $data[1], "5") !== false || + strpos((string) $data[1], "6") !== false || + strpos((string) $data[1], "8") !== false + ) { + + continue; + } + $primes[] = (int) $data[1]; + } + fclose($handle); +} +echo "File read\n"; + +$count = 1+1; //2 and 5 are primes but not included +foreach($primes as $prime) +{ + //echo "Now testing $prime\n"; + $newprime = $prime; + for($rotate = 1; $rotate < strlen($prime); $rotate++) + { + $newprime = substr($newprime, -1, 1).substr($newprime, 0, -1); + //echo "New prime: $newprime\n"; + if(!in_array($newprime, $primes)) + { + continue 2; + } + + } + $count++; + echo $prime.PHP_EOL; + + +} + +echo "Total: $count\n"; \ No newline at end of file diff --git a/ProjectEuler/045/problem45.php b/ProjectEuler/045/problem45.php new file mode 100644 index 0000000..617311f --- /dev/null +++ b/ProjectEuler/045/problem45.php @@ -0,0 +1,47 @@ +