Пример #1
0
 /**
  * Resolve the problem.
  *
  * @param int $integer Integer
  *
  * @return int Result
  */
 public function resolve($integer)
 {
     $primeObj = new Prime($integer + 2);
     $primeFactorList = array();
     for ($i = 2; $i <= $integer; ++$i) {
         $primesFactor = $primeObj->getPrimesFactor($i);
         $primeFactorOccurence = array_count_values($primesFactor);
         foreach ($primeFactorOccurence as $prime => $occurence) {
             if (!(array_key_exists($prime, $primeFactorList) && $occurence <= $primeFactorList[$prime])) {
                 $primeFactorList[$prime] = $occurence;
             }
         }
     }
     $result = 1;
     foreach ($primeFactorList as $num => $occurence) {
         $result *= $num ** $occurence;
     }
     return $result;
 }
Пример #2
0
 /**
  * Resolve the problem.
  *
  * @param int $integer Integer
  *
  * @return int Result
  */
 public function resolve($integer)
 {
     $prime = new Prime();
     return $prime->getOccurencePrime($integer);
 }
Пример #3
0
 /**
  * Resolve the problem.
  *
  * @param int $integer Integer
  *
  * @return int Result
  */
 public function resolve(int $integer) : int
 {
     $prime = new Prime();
     $primesFactor = $prime->getPrimesFactor($integer);
     return max($primesFactor);
 }
Пример #4
0
 /**
  * Test method.
  */
 public function testOccurencePrime10001()
 {
     $prime = new Prime();
     $this->assertEquals(104743, $prime->getOccurencePrime(10001));
 }