Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- $upper = 20; //the range of $a, $b, $c will be [|-$upper,$upper|].
- $jump = 1; //shows only 1 out of $jump polynomials.
- function is_prime($n) {
- $s = 0;
- for ($i = 1; $i <= floor(sqrt($n)); $i++) {
- $s += floor($n/$i)-floor(($n-1)/$i);
- }
- if ($s == 1 && $n != 1) { return true; }
- else { return false; }
- }
- function deg2($a,$b,$c) {
- if ($b**2-4*$a*$c >= 0) {
- return [[(-$b-sqrt($b**2-4*$a*$c))/(2*$a),0],[(-$b+sqrt($b**2-4*$a*$c))/(2*$a),0]];
- } elseif ($b**2-4*$a*$c < 0) {
- return [[-$b/(2*$a),-sqrt(abs($b**2-4*$a*$c))/(2*$a)],[-$b/(2*$a),sqrt(abs($b**2-4*$a*$c))/(2*$a)]];
- } elseif ($a == 0) {
- return [[0,0],[0,0]];
- }
- }
- $s = 0;
- $t = 0;
- $str = "";
- $geq = 0;
- $lss = 0;
- for ($a = -$upper; $a <= $upper; $a++) {
- for ($b = -$upper; $b <= $upper; $b++) {
- for ($c = -$upper; $c <= $upper; $c++) {
- if ($a != 0 && $t % $jump == 0) {
- $d2 = deg2($a,$b,$c);
- $d20 = $d2[0];
- $d21 = $d2[1];
- if ($d20[1] != 0) {
- if ($b/(2*$a) >= 1/2) { $geq++; } //fsr it didn't take the x²+x+c polynomials
- else { $lss++; }
- $str .= "<div style='position: absolute; left: ".(abs($d20[0]+$upper)*16-$upper*13+10)."; top: ".(abs($d20[1]+$upper)*16-$upper*13+10).
- "; color: rgba(".(($upper+$a)/$upper+$upper).",".(($upper+$b)/$upper*127.5).",".(($upper+$c)/$upper*127.5).",".
- (1-2*$t/($upper**4)).")'>·</div>\n";
- $str .= "<div style='position: absolute; left: ".(abs($d21[0]+$upper)*16-$upper*13+10)."; top: ".(abs($d21[1]+$upper)*16-$upper*13+10).
- "; color: rgba(".(($upper+$a)/$upper*127.5).",". (($upper+$b)/$upper*127.5).",".(($upper+$c)/$upper*127.5).",".
- (1-2*$t/($upper**4)).")' poly='{$a}x²+{$b}x+{$c}'>·</div>\n";
- $s++;
- } $s++;
- $t++;} else { $t++; }
- }}}
- print "\n".round(($lss/($geq+$lss))*100,3)."% roots have a real part less than or equal to 1/2\n";
- file_put_contents("ajhfeaog.html","<body bgcolor='black'>\n".$str);
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement