Пейтон Разложение на чётнопростые
В этой задаче рассматриваются только чётные целые числа.
Чётное натуральное число n будем называть чётнопростым числом, если его нельзя представить в виде произведения двух чётных чисел. Например, числа 2 и 6 — чётнопростые.
Очевидно, что каждое число либо является чётнопростым, либо разлагается в произведение чётнопростых. Но такое разложение на чётнопростые не всегда единственно.
Входные данные
Дано чётное натуральное n≤109.
Выходные данные
Если число n чётнопростое, выведите слово prime. Если это число единственным образом разлагается в произведение двух и более чётнопростых, то выведите слово single, а в следующей строке выведите разложение этого числа на чётнопростые множители. Если число допускает несколько различных разложений на чётнопростые, то выведите слово many, а в следующих двух строках выведите два каких-нибудь различных разложения числа на чётнопростые множители.
Примеры
Ввод
Вывод
6
prime
4
single
2 2
#include <vector>
using namespace std;
int main() {
cout << "Введите массив (0, чтобы закончить):\n";
int k,
sb = 0, cb = 0,
sg = 0, cg = 0;
vector<int> v;
while (true) {
cin >> k;
if (k == 0)
break;
else
v.insert(v.end(), k);
}
for (int i = 0; i < v.size(); i++) {
if (v[i] < 0) {
sb += -1 * v[i];
cb++;
}
else {
sg += v[i];
cg++;
}
}
cout << "Средний рост юношей: "
<< (sb / cb) << '\n'
<< "Средний рост девушек: "
<< (sg / cg) << '\n';
return 0;
}