Write a program to find the maximum GCD after replacing the array with almost one element.
For example :
The input is: 4, 5, 8
The output is 4
Explanation :
Replace 5 with 12 we will get 4 as the maximum GCD
Input Format :
Input has the size and the elements
Constraint:
1 <= N <= 1000
Output Format:
Print the GCDSample Input 1
3 12 18 10
Sample Output 1
6
Code:
#include<stdio.h>
int main()
{
int n,a[100];
scanf("%d",&n);
for(int i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
int max =a[0];
for(int i=1;i<n;i++)
{
if(a[i]>max)
max=a[i];
}
int gcd=1;
int f=0;
for(int i =2;i<max;i++)
{
f=0;
int c=0;
for(int j=0;j<n;j++)
{
if(a[j] % i !=0)
{
c++;
}
if( c == 2)
{
f=1;
break;}
}
if(f == 0) gcd =i;
}
printf("%d",gcd);
}
Code language: C/AL (cal)