Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 17.12.2017
Сообщений: 79

Рекурсивная функция для произведения чисел

18.03.2019, 23:07. Показов 1545. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер.
Пытаюсь решить задачу: нужно создать рекурсивную функцию, которая должна выводить произведение чисел от 5 до 15.
На форуме нашла пример такой функции, но никак не могу сообразить, чтобы она считала именно от 5, а не от 1, если это вообще возможно.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$A = $_POST["numberA"];
        $B = $_POST["numberB"];
 
        echo "Число А: $A <br>"; 
        echo "Число B: $B <br>";
 
        function fac($x) 
        {
            if ($x === 0)
                return 1;
            return $x * fac($x-1);
        }
        echo "Произведение чисел от $A до $B равно: ";
        echo fac(7);
 
    /*Для примера что должна выводить функция*/
        $a=range($A, $B);
        echo "<br>Произведение чисел от $A до $B: ";
        print_r(array_product($a));
Буду очень благодарна за любую помощь. Сама никак не могу додуматься.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.03.2019, 23:07
Ответы с готовыми решениями:

Как работает рекурсивная функция?
Готовлюсь к собеседованию и прохожу всякие вопросы которые там будут, наткнулся с &quot;рекурсивная функция&quot; и не могу понять как она...

Рекурсивная функция
Помогите исправить мою ошибку в функции. Код: &lt;?php function open_read($open){ $dir = $open; $files = scandir($dir); ...

Неправильно работает рекурсивная функция
Всем привет. Ребят, есть вот такая задача: Есть организация. У неё есть всякие подразделения (ID). У каждого подразделения есть баллы,...

4
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
18.03.2019, 23:25
PHP
1
2
3
function rec_product($from, $to) {
    return $from === $to ? $to : $to * rec_product($from, $to - 1); 
}
0
0 / 0 / 0
Регистрация: 17.12.2017
Сообщений: 79
18.03.2019, 23:39  [ТС]
Выдаёт ошибку на 2 строке: "Maximum function nesting level of '100' reached, aborting..."
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
18.03.2019, 23:59
https://ideone.com/HZAF9r

Добавлено через 3 минуты
Числа $A и $B приходят как строки, а строка с числовым значением минус 1 даст инт. Поэтому все строгие сравнения дадут false. Надо либо сравнение строгое заменить на нестрогое, либо явно приводить входные данные в int
0
0 / 0 / 0
Регистрация: 17.12.2017
Сообщений: 79
19.03.2019, 00:03  [ТС]
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
      $A = $_POST["numberA"];
        $B = $_POST["numberB"];
 
        echo "Число А: $A <br>"; 
        echo "Число B: $B <br>";
 
        function rec_product($from, $to) {
            if ($from === $to)
            {
                return $to;
            } 
            else
            {
                return $to * rec_product($from, $to - 1);
            } 
        }
        echo "Произведение чисел от $A до $B равно: ";
        echo rec_product($A, $B);
Пытаюсь с формы переменные подставить, то выдаётся ошибка. Если вручную написать, то ошибки нет. Как так-то
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.03.2019, 00:03
Помогаю со студенческими работами здесь

Разработать сценарий вычисления суммы, разности, произведения, частного и остатка для введенных чисел
Разработать сценарий вычисления суммы, разности, произведения, частного и остатка для введенных двух чисел. Нужно срочно сделать

рекурсивная функция для произведения четных чисел с файла
Помогите пожалуйста с заданием. написать рекурсивную функцию ,которая вычисляет произведение четных чисел последовательности,которая...

Рекурсивная функция произведения элементов массива
Здесь функция произведения &quot;proizv&quot; считает произведение всех элементов массива, как сделать её рекурсивной? #include &lt;iostream&gt; ...

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

Функция для произведения чисел
Задание: Напишите функцию которая, принимая в качестве аргумента число, вектор или матрицу, возвращает произведение нечетных элементов...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru