ответ:
1. если делить так, чтоб в каждом пакете был один апельсин и все фрукты были разделены, то
чс из 3 по 2 * 2! ( чс из 7 по 4) = 210 - разделили все фрукты, и в каждом пакете по 5 фруктов.
2.если делить не все фрукты, но поровну, и чтоб в каждом был 1 апельсин:
(чс из 3 по 2 )* 2! ( чс из 7 по1 + (чс из 7 по 1 ) * ( чс из 6 по 2) + (чс из 7 по 3)* (чс из 4 по 4) ) плюс
(чс из 3 по 2 )* ((чс из 7 по 1)* (чс из 6 по 1) + (чс из 7 по 2)*(чс из 5 по 2) +
(чс из 7 по 3)* (чс из 4 по 3)) = 6* ( 7+105+35) + 3* (42+210+140) = 2058 способов.
#include <iostream>
#include <vector>
using namespace std;
int f(vector<int> &u){
int k = 1;
bool has_negative = false;
for(auto &i : u){
if(i < 0){
k *= i;
has_negative = true;
}
return k * has_negative;
signed main(){
const int n = 5;
vector<vector<int>> a(n, vector<int> (n));
for(int i = 0; i < n; i++)
for(int j = 0; j < n; j++)
cin >> a[i][j];
cout << "Product of negatives in " << i + 1 << " line is " << f(a[i]) << "\n";
ответ:
1. если делить так, чтоб в каждом пакете был один апельсин и все фрукты были разделены, то
чс из 3 по 2 * 2! ( чс из 7 по 4) = 210 - разделили все фрукты, и в каждом пакете по 5 фруктов.
2.если делить не все фрукты, но поровну, и чтоб в каждом был 1 апельсин:
(чс из 3 по 2 )* 2! ( чс из 7 по1 + (чс из 7 по 1 ) * ( чс из 6 по 2) + (чс из 7 по 3)* (чс из 4 по 4) ) плюс
(чс из 3 по 2 )* ((чс из 7 по 1)* (чс из 6 по 1) + (чс из 7 по 2)*(чс из 5 по 2) +
(чс из 7 по 3)* (чс из 4 по 3)) = 6* ( 7+105+35) + 3* (42+210+140) = 2058 способов.
#include <iostream>
#include <vector>
using namespace std;
int f(vector<int> &u){
int k = 1;
bool has_negative = false;
for(auto &i : u){
if(i < 0){
k *= i;
has_negative = true;
}
}
return k * has_negative;
}
signed main(){
const int n = 5;
vector<vector<int>> a(n, vector<int> (n));
for(int i = 0; i < n; i++)
for(int j = 0; j < n; j++)
cin >> a[i][j];
for(int i = 0; i < n; i++)
cout << "Product of negatives in " << i + 1 << " line is " << f(a[i]) << "\n";
}