Логическое php условие суммы делителей - PullRequest
0 голосов
/ 05 марта 2019

У меня есть массив чисел от 1 до 100, и мне нужно найти список чисел с применением двух условий: первая сумма делителей больше, чем она сама, а второе условие: никакое подмножество делителей не может суммировать само число для этого у меня есть php код

  $arrayNumbers = [];
   //array numbers 1 - 100
    $a = 1;
    $b = 100;

        for ($n = $a; $n <= $b; $n++) {
            $conditionOne = false; // Condition one: sum of the divisors greater than ifself
            $conditionTwo = false; // Condition two: No subset of those divisors sums itself
            $multiples = [];
            $subset = [];
            // Get sum of multiples divisors
            for ($i = 1; $i < $n; $i++) {
                if ($n % $i == 0) 
                $multiples[]= $i;
            }
            //Condition one sum of the divisors greater than itself
            if (array_sum( $multiples ) > $n) 
                $conditionOne = true;

            foreach ($multiples as $number) {
                if ($number % 2 == 0) $subset[]= $number;
            }
            // Condition tow sum of the divisors greater than itself
            if (array_sum($subset) > $n) 
                $conditionTwo = true;
            // If first ondition one match with second condition two
            if ($conditionOne && $conditionTwo) 
                $arrayNumbers[] = $n;
        }

    echo implode('</br>$arrayNumbers ); 

Правильна ли эта логика php? заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...