Программирование на C++

Получить произведение членов последовательности a1, …, an

Получить произведение членов последовательности a1, …, an

Даны натуральные числа n, a1 …, an. Получить произведение членов последовательности a1, …, an, удовлетворяющих условию 2^k

Код программы:

/*
	Даны натуральные числа n, a1 ..., an. 
	Получить произведение членов последовательности a1, ..., an, 
	удовлетворяющих условию 2^k<ak<k!
*/
#include <iostream>
#include <cmath>
 
using namespace std;
 
int main()
{
	setlocale(LC_ALL, "rus");
	int a = 1; // элементы a_1...a_n
	unsigned int fact_k = 1; //факториал от k
	int otv = 0; // произвидение элементов
	const int k = 4;
	int Array[k];
 
	for (int i = 0; i < k; i++) //заполняем натуральными числами
		Array[i] = i + 1;
 
	for (int j = k; j > 0; j--) // факториал от k
		fact_k *= j;
 
	for (int i = 0; i < k; i++)
	{
		otv = a * (a+1); //произвидение
		// сравниваем по условию
		if (otv > pow(2, Array[i]) && otv < fact_k) 
			cout << otv << endl;
		a++; 
	}
system("pause");
return 0;
}

Скриншот кода программы:

Код программы на С++

Код программы на С++

Результат выполнения:

Результат выполнения программы на С++

Результат выполнения программы на С++