- Trending Categories
- Data Structure
- Networking
- RDBMS
- Operating System
- Java
- MS Excel
- iOS
- HTML
- CSS
- Android
- Python
- C Programming
- C++
- C#
- MongoDB
- MySQL
- Javascript
- PHP
- Physics
- Chemistry
- Biology
- Mathematics
- English
- Economics
- Psychology
- Social Studies
- Fashion Studies
- Legal Studies

- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who

# Count number of sub-sequences with GCD 1 in C++

We are given an array of integer elements and the task is to find the sub-sequences from the given array which are having GCD as 1. GCD is the greatest common divisor of two or more integers that divides the given numbers entirely and greatest amongst all.

**Input** − int arr[] = {3, 4, 8, 16}

**Output** − Count of number of sub-sequences with GCD 1 are − 7

**Explanation** −

The sub-sequences that can be formed from the given array with GCD as 1 are (3, 4), (3, 8), (3, 16), (4, 3), (8, 3), (16, 3), (3, 4, 8)

**Input** − int arr[] = {5, 7, 10}

**Output** − Count of number of sub-sequences with GCD 1 are − 3

**Explanation** −

The sub-sequences that can be formed from the given array with GCD as 1 are (5, 7), (7, 10), (5, 7, 10)

## Approach used in the below program is as follows

Input an array of integer elements of any given size.

Calculate the size of an array and pass the data to the function for further processing

Declare a temporary variable count to store the count of sub-sequences with GCD as 1

Start loop FOR from i to 0 till the size of an array

Inside the loop start another loop FOR from j to 0 till the size of an array

Inside the loop, check IF GCD(arr[i], arr[j]) = TRUE then increment the count by 1

Return count

Print the result.

## Example

# include <bits/stdc++.h> using namespace std; int gcd(int a, int b){ if (a == 0) return b; return gcd(b % a, a); } int GCD_1(int arr[],int size){ int count = 0; for(int i=0;i<size;i++){ for(int j=0;j<=size;j++){ if(gcd(arr[i],arr[j])==1){ count++; } } } return count; } int main(){ int arr[] = {3, 4, 8, 16}; int size = sizeof(arr)/sizeof(arr[0]); cout<<"Count of number of sub-sequences with GCD 1 are: "<<GCD_1(arr, size); return 0; }

## Output

If we run the above code it will generate the following output −

Count of number of sub-sequences with GCD 1 are: 7