Задача 2. Вывести на экран сумму N случайных чисел.
Primary tabs
Задача из этого списка.
<?php
/* Вывести на экран сумму N случайных чисел. */
function outputSumRandomNumbers($numbers) {
for(; $numbers > 0; $numbers--) {
$num = rand(-21, 35);
$arrayNumbers[] = $num; // при каждом витке цикла случайное число будет записано в массив
}
echo array_sum($arrayNumbers);
}
outputSumRandomNumbers(10);
?>- Log in to post comments
- 8317 reads
vedro-compota
Wed, 06/06/2018 - 15:37
Permalink
решение рабочее.
решение рабочее.
НО: Переделайте его так, чтобы массив не использовался (новое решение добавьте в ответный комментарий).
_____________
матфак вгу и остальная классика =)
Sver4ok
Wed, 06/06/2018 - 17:04
Permalink
Функция без использование массива:
<?php /* Вывести на экран сумму N случайных чисел. */ function outputSumRandomNumbers($numbers) { $sumNumbers = 0; for(; $numbers > 0; $numbers--) { $num = rand(-21, 35); $sumNumbers += $num; // при каждом витке цикла случайное число будет прибавлено к сумме чисел } echo $sumNumbers; } outputSumRandomNumbers(10); ?>vedro-compota
Wed, 06/06/2018 - 17:32
Permalink
всё верно.
всё верно.
_____________
матфак вгу и остальная классика =)
melisa
Wed, 06/06/2018 - 15:41
Permalink
при значении аргумента
при значении аргумента = 0 - ошибка.
Sver4ok
Wed, 06/06/2018 - 17:40
Permalink
при значении аргумента = 0 -
Нет ошибки, функция работает, т.к. пользователь должен вводить по условию:
N - это натуральные числа, 0 не является натуральным числом, его невозможно подсчитать.
Если пользователь ввёл ноль чисел, то и считать нечего.
С другой стороны можно ввести условие-проверку какое число вводят.
<?php /* Вывести на экран сумму N случайных чисел. */ function outputSumRandomNumbers($numbers) { if ($numbers <= 0) { echo 'Ошибка. Введите N-натуральное число количества чисел, которые нужно сложить!'; } for($numbers; $numbers > 0; $numbers--) { $num = rand(-21, 35); $arrayNumbers[] = $num; // при каждом витке цикла случайное число будет записано в массив } echo array_sum($arrayNumbers); } outputSumRandomNumbers(0); ?>vedro-compota
Wed, 06/06/2018 - 21:10
Permalink
ещё раз обращу внимание на то
ещё раз обращу внимание на то, что использовать массив тут неверно -- это приведёт для больших N к риску выхода за выделенный интерпретатору PHP объём оперативной памяти памяти (ведь все значения хранятся в памяти отдельно при использовании массива, и его размер растёт с каждым витком цикла).
На будущее: не используйте массивы, если можно легко без них обойтись.
_____________
матфак вгу и остальная классика =)