Examine this program? Tell me its bugs ?

lionaneesh's Avatar, Join Date: Mar 2010
Invasive contributor
Code:
#include<stdio.h>

int lcm(int a,int b); 

int main()
{
    int a;
    int b;

    printf("Enter two numbers to find lcm of ? :-\n1. ");
    scanf("%d",&a);
    printf("2. ");
    scanf("%d",&b);
    printf("%d is the lcm of %d and %d\n\n",lcm(a,b),a,b);
    getchar();
    return(0);
}

/******************* FUNCTION *****************************/

int lcm(int a,int b)
{
    int i,g,pr,z,q,dummy,lc = 0;

/************************************************************************/
    
/********* Determining weather a is a prime or not **************/
    
    
    for(i = 2 ;i < a;i++)      /* The loop */
    {
        pr = (a % i);

        if(pr == 0)
        {    
            dummy=14296;
            break;
        }    
    }
    
    if(dummy != 14296)
    {
        lc = a * b;
    }

dummy = 0;
    
/********* Determining weather a is a prime or not **************/


    for(i = 2 ;i < b;i++)      /* The loop */
    {
        pr = (b % i);

        if(pr == 0)
        {    
            dummy=14296;
            break;
        }    
    }
    
    if(dummy != 14296)
    {
        lc = a * b;
    }
/************************************************************************/
    if((a % b) == 0)
    {
        lc = b/a;
    }
    if((b % a) == 0)
    {
        lc = a/b;
    }
/************************************************************************/
    
    if(b>a)
    {
        g = b;
    }
    else
    {
        g = a;
    }
        
    for(z=1;z <= g;z++)
    {
        if(((b % z) == 0) && ((a % z) == 0))
        {
            lc = (b/z) * (a/z);
        }
    }
/********************************************************************/
        return(lc);
}
This is a lcm finding program.
please tell me if there are any bugs in this program and tell me how u liked my idea.
0
shabbir's Avatar, Join Date: Jul 2004
Go4Expert Founder
Its just too perfect. Don't you think the same.
0
lionaneesh's Avatar, Join Date: Mar 2010
Invasive contributor
REly.......

thanxxxxxxxxxx...........
0
en_7123's Avatar, Join Date: Feb 2010
Ambitious contributor
The code is fine but you can write a function for checking if the number is prime or not that would make your code smaller.
0
lionaneesh's Avatar, Join Date: Mar 2010
Invasive contributor
Quote:
Originally Posted by en_7123 View Post
The code is fine but you can write a function for checking if the number is prime or not that would make your code smaller.
kk sir thanx and will look forward abt it while writing the code next time.

thanx..
0
xpi0t0s's Avatar, Join Date: Aug 2004
Mentor
Better to set a flag to 1 or 0 than to use some mystical value 14296 - reviewers will be thinking "what's the significance of 14296?"

It would be better to use meaningful variable names than single letters. Suppose I give you the formula a=b*c^d - could you tell me what that means?
0
lionaneesh's Avatar, Join Date: Mar 2010
Invasive contributor
Quote:
Originally Posted by xpi0t0s View Post
Better to set a flag to 1 or 0 than to use some mystical value 14296 - reviewers will be thinking "what's the significance of 14296?"

It would be better to use meaningful variable names than single letters. Suppose I give you the formula a=b*c^d - could you tell me what that means?
Thank u sir fr ur advice ...