Массив - это набор элементов, хранящихся в непрерывных ячейках памяти. Это наиболее часто используемая структура данных в программировании. Вы должны знать, как выполнять основные операции с массивом, такие как вставка, удаление, обход, нахождение суммы всех элементов, нахождение произведения всех элементов и т. Д.

В этой статье вы узнаете, как найти произведение всех элементов в массиве, используя итеративный и рекурсивный подходы.

Постановка задачи

Вам дан массив обр. Вам нужно найти произведение всех элементов массива, а затем распечатать конечный продукт. Вам необходимо реализовать это решение, используя циклы и рекурсию.

Пример 1: Пусть arr = [1, 2, 3, 4, 5, 6, 7, 8]

Произведение каждого элемента массива = 1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 = 40320

Таким образом, на выходе получается 40320.

Пример 2: Пусть arr = [1, 1, 1, 1, 1, 1]

Произведение каждого элемента массива = 1 * 1 * 1 * 1 * 1 * 1 = 1

Таким образом, на выходе получается 1.

Итерационный подход к поиску произведения всех элементов массива

Вы можете найти продукт всех элементов массива с помощью итераций / циклов, следуя приведенному ниже подходу:

  1. Инициализировать переменную результат (со значением 1) для хранения произведения всех элементов в массиве.
  2. Пройдитесь по массиву и умножьте каждый элемент массива на результат.
  3. Наконец, верните результат.

Программа на C ++ для поиска произведения элементов массива с помощью циклов

Ниже приведена программа на C ++ для поиска произведения элементов массива:

// Программа на C ++ для поиска произведения элементов массива
#включают
используя пространство имен std;
int findProduct (int arr [], int размер)
{
int result = 1;
для (int i = 0; я{
результат = результат * arr [i];
}
вернуть результат;
}
void printArrayElements (int arr [], int size)
{
для (int i = 0; я{
cout << arr [i] << "";
}
cout << endl;
}
int main ()
{
int arr1 [] = {1, 2, 3, 4, 5, 6, 7, 8};
int size1 = sizeof (arr1) / sizeof (arr1 [0]);
cout << "Массив 1:" << endl;
printArrayElements (arr1, size1);
cout << "Произведение элементов массива:" << findProduct (arr1, size1) << endl;
int arr2 [] = {1, 1, 1, 1, 1, 1};
int size2 = sizeof (arr2) / sizeof (arr2 [0]);
cout << "Массив 2:" << endl;
printArrayElements (arr2, size2);
cout << "Произведение элементов массива:" << findProduct (arr2, size2) << endl;
возврат 0;
}

Выход:

Массив 1:
1 2 3 4 5 6 7 8
Произведение элементов массива: 40320
Массив 2:
1 1 1 1 1 1
Произведение элементов массива: 1

Программа Python для поиска произведения элементов массива с помощью циклов

Ниже приведена программа Python для поиска произведения элементов массива:

# Программа Python для поиска произведения элементов списка
def findProduct (arr, size):
результат = 1
для i в диапазоне (размер):
результат = результат * arr [i]
вернуть результат
def printListElements (обр., размер):
для i в диапазоне (размер):
print (arr [i], end = "")
Распечатать()
arr1 = [1, 2, 3, 4, 5, 6, 7, 8]
size1 = len (arr1)
print ("Массив 1:")
printListElements (arr1, size1)
print ("Продукт элементов массива:", findProduct (arr1, size1))
arr2 = [1, 1, 1, 1, 1, 1]
size2 = len (arr2)
print ("Массив 2:")
printListElements (arr2, size2)
print ("Продукт элементов массива:", findProduct (arr2, size2))

Связанный: Как использовать циклы For в Python

Выход:

Массив 1:
1 2 3 4 5 6 7 8
Произведение элементов массива: 40320
Массив 2:
1 1 1 1 1 1
Произведение элементов массива: 1

Программа на JavaScript для поиска произведения элементов массива с помощью циклов

Ниже приведена программа на JavaScript для поиска произведения элементов массива:

// Программа на JavaScript для поиска произведения элементов массива
function findProduct (arr, size) {
пусть результат = 1;
для (пусть i = 0; ярезультат = результат * arr [i];
}
вернуть результат;
}
function printArrayElements (arr, size) {
для (пусть i = 0; яdocument.write (arr [i] + "");
}
document.write ("
");
}
var arr1 = [1, 2, 3, 4, 5, 6, 7, 8];
var size1 = arr1.length;
document.write ("Массив 1:" + "
");
printArrayElements (arr1, size1);
document.write ("Продукт элементов массива:" + findProduct (arr1, size1) + "
");
var arr2 = [1, 1, 1, 1, 1, 1];
var size2 = arr2.length;
document.write ("Массив 2:" + "
");
printArrayElements (arr2, size2);
document.write ("Продукт элементов массива:" + findProduct (arr2, size2) + "
");

Выход:

Массив 1:
1 2 3 4 5 6 7 8
Произведение элементов массива: 40320
Массив 2:
1 1 1 1 1 1
Произведение элементов массива: 1

Связанный: Методы массивов JavaScript, которые вы должны освоить сегодня

Программа на C для поиска произведения элементов массива с помощью циклов

Ниже приведена программа на языке C для поиска произведения элементов массива:

// Программа на C для поиска произведения элементов массива
#включают
int findProduct (int arr [], int размер)
{
int result = 1;
для (int i = 0; я{
результат = результат * arr [i];
}
вернуть результат;
}
void printArrayElements (int arr [], int size)
{
для (int i = 0; я{
printf ("% d", arr [i]);
}
printf ("\ ⁠n");
}
int main ()
{
int arr1 [] = {1, 2, 3, 4, 5, 6, 7, 8};
int size1 = sizeof (arr1) / sizeof (arr1 [0]);
printf ("Массив 1: \ ⁠n");
printArrayElements (arr1, size1);
printf ("Произведение элементов массива:% d \ ⁠n", findProduct (arr1, size1));
int arr2 [] = {1, 1, 1, 1, 1, 1};
int size2 = sizeof (arr2) / sizeof (arr2 [0]);
printf ("Массив 2: \ ⁠n");
printArrayElements (arr2, size2);
printf ("Произведение элементов массива:% d \ ⁠n", findProduct (arr2, size2));
возврат 0;
}

Выход:

Массив 1:
1 2 3 4 5 6 7 8
Произведение элементов массива: 40320
Массив 2:
1 1 1 1 1 1
Произведение элементов массива: 1

Рекурсивный подход к поиску произведения всех элементов в массиве

Вы можете найти произведение всех элементов массива с помощью рекурсии, следуя псевдокоду ниже:

функция findProduct (arr, n):
если n == 0:
возврат (arr [n])
еще:
return (arr [n] * findProduct (arr, n - 1))

Связанный: Что такое псевдокод и как он делает вас лучшим разработчиком?

Программа на C ++ для поиска произведения элементов массива с помощью рекурсии

Ниже приведена программа на C ++ для поиска произведения элементов массива:

// Программа на C ++ для поиска произведения элементов массива с помощью рекурсии
#включают
используя пространство имен std;
int findProduct (int arr [], int n)
{
если (n == 0)
{
return (arr [n]);
}
еще
{
return (arr [n] * findProduct (arr, n - 1));
}
}
void printArrayElements (int arr [], int size)
{
для (int i = 0; я{
cout << arr [i] << "";
}
cout << endl;
}
int main ()
{
int arr1 [] = {1, 2, 3, 4, 5, 6, 7, 8};
int size1 = sizeof (arr1) / sizeof (arr1 [0]);
cout << "Массив 1:" << endl;
printArrayElements (arr1, size1);
cout << "Произведение элементов массива:" << findProduct (arr1, size1-1) << endl;
int arr2 [] = {1, 1, 1, 1, 1, 1};
int size2 = sizeof (arr2) / sizeof (arr2 [0]);
cout << "Массив 2:" << endl;
printArrayElements (arr2, size2);
cout << "Произведение элементов массива:" << findProduct (arr2, size2-1) << endl;
возврат 0;
}

Выход:

Массив 1:
1 2 3 4 5 6 7 8
Произведение элементов массива: 40320
Массив 2:
1 1 1 1 1 1
Произведение элементов массива: 1

Связанный: Введение в алгоритм пузырьковой сортировки

Программа Python для поиска произведения элементов массива с помощью рекурсии

Ниже приведена программа Python для поиска произведения элементов массива:

# Программа Python для поиска результата элементов списка с помощью рекурсии
def findProduct (arr, n):
если n == 0:
возврат (arr [n])
еще:
return (arr [n] * findProduct (arr, n - 1))
def printListElements (обр., размер):
для i в диапазоне (размер):
print (arr [i], end = "")
Распечатать()
arr1 = [1, 2, 3, 4, 5, 6, 7, 8]
size1 = len (arr1)
print ("Массив 1:")
printListElements (arr1, size1)
print ("Продукт элементов массива:", findProduct (arr1, size1-1))
arr2 = [1, 1, 1, 1, 1, 1]
size2 = len (arr2)
print ("Массив 2:")
printListElements (arr2, size2)
print ("Продукт элементов массива:", findProduct (arr2, size2-1))

Выход:

Массив 1:
1 2 3 4 5 6 7 8
Произведение элементов массива: 40320
Массив 2:
1 1 1 1 1 1
Произведение элементов массива: 1

Связанный: Введение в алгоритм сортировки слиянием

Программа JavaScript для поиска произведения элементов массива с помощью рекурсии

Ниже приведена программа на JavaScript для поиска произведения элементов массива:

// Программа на JavaScript для поиска произведения элементов массива с помощью рекурсии
function findProduct (arr, n) {
if (n == 0) {
return (arr [n]);
} еще {
return (arr [n] * findProduct (arr, n - 1));
}
}
function printArrayElements (arr, size) {
для (пусть i = 0; яdocument.write (arr [i] + "");
}
document.write ("
");
}
var arr1 = [1, 2, 3, 4, 5, 6, 7, 8];
var size1 = arr1.length;
document.write ("Массив 1:" + "
");
printArrayElements (arr1, size1);
document.write ("Продукт элементов массива:" + findProduct (arr1, size1) + "
");
var arr2 = [1, 1, 1, 1, 1, 1];
var size2 = arr2.length;
document.write ("Массив 2:" + "
");
printArrayElements (arr2, size2);
document.write ("Продукт элементов массива:" + findProduct (arr2, size2) + "
");

Выход:

Массив 1:
1 2 3 4 5 6 7 8
Произведение элементов массива: 40320
Массив 2:
1 1 1 1 1 1
Произведение элементов массива: 1

Программа на C для поиска произведения элементов массива с помощью рекурсии

Ниже приведена программа на языке C для поиска произведения элементов массива:

// Программа на C для поиска произведения элементов массива с помощью рекурсии
#включают
int findProduct (int arr [], int n)
{
если (n == 0)
{
return (arr [n]);
}
еще
{
return (arr [n] * findProduct (arr, n - 1));
}
}
void printArrayElements (int arr [], int size)
{
для (int i = 0; я{
printf ("% d", arr [i]);
}
printf ("\ ⁠n");
}
int main ()
{
int arr1 [] = {1, 2, 3, 4, 5, 6, 7, 8};
int size1 = sizeof (arr1) / sizeof (arr1 [0]);
printf ("Массив 1: \ ⁠n");
printArrayElements (arr1, size1);
printf ("Произведение элементов массива:% d \ ⁠n", findProduct (arr1, size1-1));
int arr2 [] = {1, 1, 1, 1, 1, 1};
int size2 = sizeof (arr2) / sizeof (arr2 [0]);
printf ("Массив 2: \ ⁠n");
printArrayElements (arr2, size2);
printf ("Произведение элементов массива:% d \ ⁠n", findProduct (arr2, size2-1));
возврат 0;
}

Выход:

Массив 1:
1 2 3 4 5 6 7 8
Произведение элементов массива: 40320
Массив 2:
1 1 1 1 1 1
Произведение элементов массива: 1

Укрепите свои концепции массива

Массивы - неотъемлемая часть программирования. Это одна из самых важных тем для технических собеседований.

Если программы, основанные на массивах, все еще пугают вас, попробуйте решить некоторые базовые задачи с массивами, например, как найти сумму все элементы в массиве, как найти максимальный и минимальный элемент в массиве, как перевернуть массив и т. д. Это поможет вам укрепить ваши концепции массивов.

Делиться
Электронное письмо
Как найти сумму всех элементов в массиве

Независимо от того, используете ли вы JavaScript, Python или C ++, эти программы определенно складываются.

Читать далее

Похожие темы
  • Программирование
  • JavaScript
  • Python
  • Учебники по кодированию
  • Программирование на C
Об авторе
Юврадж Чандра (Опубликовано 47 статей)

Юврадж - студент бакалавриата по информатике в Университете Дели, Индия. Он увлечен веб-разработкой Full Stack. Когда он не пишет, он исследует глубину различных технологий.

Ещё от Yuvraj Chandra

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

Подпишитесь на нашу рассылку, чтобы получать технические советы, обзоры, бесплатные электронные книги и эксклюзивные предложения!

Нажмите здесь, чтобы подписаться