त्वरित कार्य कोड की तलाश में किसी के लिए, यह प्रयास करें:
मैंने एक फ़ंक्शन लिखा, lcm_n(args, num) जो सरणी में सभी संख्याओं के lcm की गणना और रिटर्न करता है args। दूसरा पैरामीटर numसरणी में संख्याओं की गणना है।
उन सभी नंबरों को एक सरणी में रखें argsऔर फिर फ़ंक्शन को कॉल करेंlcm_n(args,num);
यह फ़ंक्शन उन सभी नंबरों के lcm लौटाता है ।
यहाँ समारोह का कार्यान्वयन है lcm_n(args, num):
int lcm_n(int args[], int num) //lcm of more than 2 numbers
{
int i, temp[num-1];
if(num==2)
{
return lcm(args[0], args[1]);
}
else
{
for(i=0;i<num-1;i++)
{
temp[i] = args[i];
}
temp[num-2] = lcm(args[num-2], args[num-1]);
return lcm_n(temp,num-1);
}
}
इस फ़ंक्शन को काम करने के लिए दो कार्यों की आवश्यकता है। तो, बस उन्हें इसके साथ जोड़ें।
int lcm(int a, int b) //lcm of 2 numbers
{
return (a*b)/gcd(a,b);
}
int gcd(int a, int b) //gcd of 2 numbers
{
int numerator, denominator, remainder;
//Euclid's algorithm for computing GCD of two numbers
if(a > b)
{
numerator = a;
denominator = b;
}
else
{
numerator = b;
denominator = a;
}
remainder = numerator % denominator;
while(remainder != 0)
{
numerator = denominator;
denominator = remainder;
remainder = numerator % denominator;
}
return denominator;
}