Пример решения. 1. Вывести сумму N случайных чисел

Пример решения. Вывести сумму N случайных чисел

Задача из этого списка:

<?php
/* Вывести на экран сумму N случайных чисел */
$N = 13;
for ($i=0; $i < $N; $i++) {
    $numbers [$i] = rand();
} $sum = array_sum ($numbers);
echo "Sum of numbers now: ", $sum, "<br>";

Key Words for FKN + antitotal forum (CS VSU):

vedro-compota's picture

Мои комментарии относятся к коду:

/* Вывести на экран сумму N случайных чисел */
$N = 13;
for ($i=0; $i < $N; $i++) {
    $numbers [$i] = rand();
} $sum = array_sum ($numbers);
echo "Sum of numbers now: ", $sum, "<br>";

Что тут можно улучшить:

  1. После имени функции перед скобкой пробел не ставится.
  2. После имени массива перед квадратной скобкой пробел тоже не нужен.
  3. Вот тут:
    for ($i=0; $i < $N; $i++) {
        $numbers [$i] = rand();
    } $sum = array_sum ($numbers);
    

    После завершения блока следует переносить на новую строку новые действия, то есть писать так:

    <pre class="brush: php">for ($i=0; $i < $N; $i++) {
        $numbers [$i] = rand();
    } 
    $sum = array_sum ($numbers);</pre>
    
    Вообще строки лучше не экономить.
    
    

_____________
матфак вгу и остальная классика =)

vedro-compota's picture

Приведите пожалуйста в ответном комментарии решение без использования array_sum() (как будто этой функции нет, хотя то что вы читаете про разные функции и используете их -- правильно, но другой вариант решения нужен чтобы удостовериться что вы понимаете разные способы).

_____________
матфак вгу и остальная классика =)

Вариант с рекурсией

<?php
/* Вывести на экран сумму N случайных чисел */

function add($N, $sum) {
    $number = rand();
    if ($N == 0) {
        echo "=". $sum;
    } else {
        echo $number;
        if ($N != 1) {
            echo "+";
        }
        add($N-1, $sum+$number);
    }
}

add(13, 0);
melisa's picture

Оформление исправлено:

for ($i=0; $i < $N; $i++) {
    $numbers[$i] = rand();
} 
$sum = array_sum($numbers);

Альтернативное решение:

/* Вывести на экран сумму N случайных чисел */
$N = 13;
$sum = 0;
for ($i=0; $i < $N; $i++) {
    $sum += rand();
} 
echo "Sum of numbers now: ", $sum, "<br>";
vedro-compota's picture

вроде правильно)

_____________
матфак вгу и остальная классика =)