Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- //Prime Number calculato (just for fun)
- //DATABASE DETAILS
- $dbhost = 'localhost'; //host
- $dbname = "prime"; //name of database
- $dbusername = "root"; //username
- $dbpassword = "dbpass"; //pass
- $db = new PDO("mysql:host=$dbhost;dbname=$dbname;charset=utf8",$dbusername,$dbpassword,array(PDO::ATTR_EMULATE_PREPARES => false,PDO::ATTR_ERRMODE =>PDO::ERRMODE_EXCEPTION));
- ini_set('memory_limit', '150M');
- error_reporting(0);
- ignore_user_abort(true);
- set_time_limit(0);
- $startnum = 834149;
- $maxnum = 9999999999999999999999999;
- $file = '/prime.txt';
- $data = "NEW TEST \n starting number: ".$startnum."\n Ending number: ".$maxnum."\n";
- file_put_contents($file, $data, FILE_APPEND | LOCK_EX);
- echo "starting";
- for($i = $startnum; $i < $maxnum; ++$i) {
- if (!file_exists("/stop")) {
- $a = 0;
- while ($a < sqrt($i) + 1) {
- if ($a == 0) { //continue
- $a++;
- }
- elseif ($a == 1) { //continue
- $a++;
- }
- elseif ($a == $i) { //continue
- $a++;
- }
- else {
- $testnum = $i / $a;
- if ( strpos( $testnum, "." ) !== false ) {
- //Answer is decimal, continue
- if ($a > sqrt($i)) {
- $a++;
- $data = "\n PRIME NUMBER FOUND: ".$i." \n Allocated Memory: ".(memory_get_peak_usage(true)/1024/1024)." MiB \n Memory Usage: ".(memory_get_peak_usage(false)/1024/1024)." MiB\n\n";
- file_put_contents($file, $data, FILE_APPEND | LOCK_EX);
- $insert = $db->prepare("INSERT INTO `prime`(`number`) VALUES (:n)");
- $insert->bindParam(':n', $i);
- $insert->execute();
- usleep(2000);
- break;
- }
- $a++;
- }
- else {
- $a++;
- $data = "\n Not prime: ".$i;
- file_put_contents($file, $data, FILE_APPEND | LOCK_EX);
- break; //Not decimal, so number isn't prime
- }
- }
- }
- }
- else {
- file_put_contents($file, "\nSTOPPING TEST\n", FILE_APPEND | LOCK_EX);
- exit();
- }
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement