Доброго дня, подскажите пожалуйста, почему не работает последний do-while(не выполняются 3 условия)??? PHP: //------------------------------------------------------------------ // сеет с микросекундами function make_seed() { list($usec, $sec) = explode(' ', microtime()); return (float) $sec + ((float) $usec * 100000); } //генерация простых чисел function Prostoe_4islo() { do { $c=0; srand(make_seed()); $a=rand(999,65535); $b=$a; if ($a>999) { do { $b=$b-1; if (($a%$b)==0) { $c++; break; } } while($b!=2); } else $c=1; } //while(($c!=0) and (($a % 2)==0)); while($c!=0); // echo "<br>--- ".$c." ------<br>"; return $a; } //p u q должны быть сравнимы с 3 по модулю 4 function Vu4et($a) { if ((($a-3)%4)==0) $a=1; //ok else $a=0; return $a; } //--------генератор---------------------------------- do { $p=Prostoe_4islo(); echo $p."<br>"; $p1=Vu4et($p); $q=Prostoe_4islo(); echo $q."<br>"; $p2=Vu4et($q); } while(($p==$q)and($p1!=1)and($p1!=$p2)); echo($p1." - ".$p2); если выводить р1 и р2, то они должны быть р1=р2=1, а они как попало выводятся?
не знаю, что ты тут хотел показать, но в последнем условии может быть должно while(($p!=$q) --- while(($p==$q)and если его читать то - выполняй код, пока $p будет равен $q, вообщем... равны они будут очень редко