рдИрдорд╛рдирджрд╛рд░ PHP рдФрд░ рдкрд╛рдпрдерди рд╕реНрдкреАрдб рдЯреЗрд╕реНрдЯрд┐рдВрдЧ

рд╢реБрдн рджреЛрдкрд╣рд░
рд╣рдо рд╕рднреА рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдХреЛрдб рдХреА рдЧреБрдгрд╡рддреНрддрд╛ рдФрд░ рдЧрддрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреА рд╣реИред рдПрдХ рдЕрдЪреНрдЫрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреБрд╢рд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЕрдкрдиреЗ рдкреАрдПрд▓ рдХреА рддрд╛рдХрдд рдФрд░ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдкрд┐рдЫрд▓реА рдмрд╛рд░, PHP рдиреЗ рдЕрдкрдирд╛ рдордЬрдмреВрдд рдмрд┐рдВрджреБ рджрд┐рдЦрд╛рдпрд╛ - рд╕рдВрдЦреНрдпрд╛рдПрдВ рд╕рдВрдЦреНрдпрд╛рдПрдВ рд╣реИрдВред рдкрд╛рдпрдерди рдореЗрдВ, рд╕рдВрдЦреНрдпрд╛рдПрдВ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИрдВред
рддреЛ рдПрдХ рдЙрджреНрджреЗрд╢реНрдп рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЧрдгрд┐рддреАрдп рд╡рд╕реНрддреБрдУрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреАрдПрдЪрдкреА рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдкрд░реАрдХреНрд╖рдг рдкрджреНрдзрддрд┐

рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕ рдирдВрдмрд░ рдЕрдЪреНрдЫреЗ рдЧрдгрд┐рдд рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИрдВ, рдкреАрдПрдЪрдкреА рдФрд░ рдкрд╛рдпрдерди рдХреЙрдореНрдкреНрд▓реЗрдХреНрд╕ рдирдВрдмрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рджреНрд╡рд╛рд░рд╛ рджрд░реНрд╢рд╛рдП рдЬрд╛рдПрдВрдЧреЗред рдПрдХ рдЖрдзрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВрдиреЗ рдЕрдкрд░рд╛рдзреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рднреЛрд▓реА рдЦреЛрдЬ рдФрд░ рдереЙрдорд╕ рд╡реЗрдВрдбрд░ рд╕реНрдЯрд┐рдЪрд▓реЗ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦрд┐рдд рдПрдХ рдХреЛрдб рдХреЗ рд╕рд╛рде рдПрдХ рдкрд░реАрдХреНрд╖рд╛ рд▓реА, рдкреВрд░реНрдгрд╛рдВрдХ рдХреЗ рдмрдЬрд╛рдп рдХреЗрд╡рд▓ рдПрдХ рдЬрдЯрд┐рд▓ рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рд╢рд░реНрдд рдкреВрд░реА рдХреА рдЬрд╛рддреА рд╣реИ рдХрд┐ рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рджреЛ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПред

рдореИрдВрдиреЗ рдкрд░реАрдХреНрд╖рдг рдХреА рдирд┐рд╖реНрдкрдХреНрд╖рддрд╛ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреЛ рдПрдХ-рджреВрд╕рд░реЗ рдХреЗ рд╕рдорд╛рди рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред рдЗрд╕рд▓рд┐рдП, рдореИрдВрдиреЗ рд╡рд┐рднрд┐рдиреНрди рдореБрд╢реНрдХрд┐рд▓ рдЕрдиреБрдХреВрд▓рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬреЛ рдХрд┐ рдореИрдВ рдкрд╛рдпрдерди рдХреЗ рд▓рд┐рдП рдЬрд╛рдирддрд╛ рд╣реВрдВ рдФрд░ рдореБрдЭреЗ рдкреАрдПрдЪрдкреА рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдкрддрд╛ рд╣реИред рдкрд╛рдпрдерди рдореЗрдВ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреА рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдХрдХреНрд╖рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд░реАрдХреНрд╖рдг рдХреА рдирд┐рд╖реНрдкрдХреНрд╖рддрд╛ рдХреЗ рд▓рд┐рдП, рдЬрдЯрд┐рд▓ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рд╡рд░реНрдЧ рдХреЛ PHP рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рдорд╛рди рдФрд░ рдиреНрдпреВрдирддрдо рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рде рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдкрд░рд┐рдгрд╛рдореА рдХреЛрдб рд╣реИ:

рдкреАрдПрдЪрдкреА
#!/usr/bin/env php <?php class Complex { public $real = 0; private $imag = 0; public function __construct($real, $imag = null) { $this->real = (float)$real; } public function __toString() { return sprintf("(%d+%dj)", $this->real, $this->imag); } } $start = microtime(TRUE); $primeNumbers = array(); $output = ''; for ($i = 2; $i < 100000; $i++) { $divisible = false; $in = new Complex($i); foreach($primeNumbers as $number) { if ($in->real % $number->real == 0) { $divisible = true; break; } } if ($divisible == false){ $primeNumbers[] = $in; $output .= $in; } } echo "time: ", microtime(TRUE) - $start, "\n"; echo count($primeNumbers), " ", strlen($output), "\n"; ?> 


рдЕрдЬрдЧрд░
 #!/usr/bin/env python import time class Complex(object): def __init__(self, real, imag=None): self.real = real self.imag = 0 def __str__(self): return "({0}+{1}j)".format(self.real, self.imag) start = time.time() primeNumbers = [] output = "" for i in xrange(2, 100000): divisible = False inum = Complex(i) for number in primeNumbers: if inum.real % number.real == 0: divisible = True break if divisible == False: primeNumbers.append(inum) output += str(inum) print 'time: %f' % (time.time() - start) print len(primeNumbers), len(output) 


рдкрд░реАрдХреНрд╖рдг

рдореЗрд░реЗ рдкрд░реАрдХреНрд╖рдг рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ, рд╕реЗрд▓реЗрд░реЙрди 1.2GHz рдкреНрд░реЛрд╕реЗрд╕рд░ рдкрд░ VMWare рдкреНрд▓реЗрдпрд░ 3 рдореЗрдВ рдЪрд▓ рд░рд╣реЗ Ubuntu 10.04:

рдирд┐рд╖реНрдХрд░реНрд╖

рдпрджрд┐ рдЖрдкрдХреЛ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЧрдгрд┐рдд рдХреИрд▓рдХреБрд▓реЗрдЯрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ PHP рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рдЙрджреНрджреЗрд╢реНрдп рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ, рдкрд╛рдпрдерди рддреЗрдЬ рд╣реИред

рдереЙрдорд╕ рд╡реЗрдВрдбрд░ рд╕реНрдЯрд┐рдЪрд▓реЗ рдиреЗ рдпрд╣ рднреА рдХрд╣рд╛ рдХрд┐ рдПрд░рд╛рдЯреЛрд╕реНрдердиреАрдЬ рдХреА рдЫрд▓рдиреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ , рдХрдИ рдмрд╛рд░ primes рдХреА рдЦреЛрдЬ рдХреЛ рддреЗрдЬ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдкреБрдирд╢реНрдЪ: рдпрджрд┐ рдЖрдк рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЬрд╣рд╛рдВ рдХреЛрдб рд╕рдорддреБрд▓реНрдп рдирд╣реАрдВ рд╣реИ, рдХреЗрд╡рд▓ рдЯреНрд░рд┐рдХреА рдЕрдиреБрдХреВрд▓рди рдХреЗ рдмрд┐рдирд╛, рдореИрдВ рдЖрднрд╛рд░реА рд░рд╣реВрдВрдЧрд╛ред

рдЕрдЬрдЧрд░-рдбреАрдЬреЗрдВрдЧреЛ-рдПрд╕рдкреАрдмреА рд╕рдореВрд╣ рдореЗрдВ рд╕рднреА рдХреЛ рдирдорд╕реНрдХрд╛рд░, рдХреГрдкрдпрд╛ рднреА рд╢рд╛рдорд┐рд▓ рд╣реЛрдВред

Source: https://habr.com/ru/post/In124346/


All Articles