Pagini recente » Cod sursa (job #185149) | Cod sursa (job #2906182) | Cod sursa (job #2653967) | Cod sursa (job #3181859) | Cod sursa (job #3245652)
#include <bits/stdc++.h>
using namespace std;
long long generateSubsequences(vector<long long> &arr)
{
long long n = arr.size();
long long totalSubsequences = (1 << n);
long long ans = 0;
for (int i = 0; i < totalSubsequences; ++i)
{
vector<long long> subsequence;
for (int j = 0; j < n; ++j)
{
if (i & (1 << j))
{
subsequence.push_back(arr[j]);
}
}
if (subsequence.size() >= 1)
{
long long result = subsequence[0];
for (int k = 1; k < subsequence.size(); ++k)
result = __gcd(result, subsequence[k]);
if (result == 1)
ans++;
}
}
return ans;
}
int main()
{
ifstream cin("indep.in");
ofstream cout("indep.out");
int n;
cin >> n;
vector<long long> arr(n);
for (int i = 0; i < n; ++i)
cin >> arr[i];
cout << generateSubsequences(arr);
return 0;
}