Mega Code Archive

 
Categories / C / Beginners
 

Finding LCM and GCD

#include<stdio.h> void main() { int a[20],n,i,j,c,max,min; unsigned long prod; clrscr(); printf("Enter the no. of entries: "); scanf("%d",&n); printf("Enter the entries: "); for(i=0;i<n;i++) { scanf("%d",&c); if(c>0) a[i]=c; else { printf("Invalid Entry"); return; } } max=a[0]; for(i=0;i<n;i++) if(a[i]>=max) max=a[i]; min=a[0]; for(i=0;i<n;i++) if(a[i]<min) min=a[i]; for(i=0,prod=1;i<n;i++) prod=prod*a[i]; for(i=max;i<=prod;i+=max) { c=0; for(j=0;j<n;j++) if(i%a[j]==0) c+=1; if(c==n) { printf("The LCM of the nos: %d ",i); break; } } for(i=min;i>0;i--) { if (min%i==0) { c=0; for(j=0;j<n;j++) if(a[j]%i==0) c+=1; } if(c==n) { printf("The GCD of the nos: %d",i); break; } } getch(); }