Monday, April 13, 2015

Bài 62

Bài 62: Tìm bội chung nhỏ nhất (BCNN) của 2 số nguyên dương a và b

- BCNN (a,b) = |a*b| / UCLN(a,b)
//========================================
//Cach 1

#include <stdio.h>
#include <conio.h>
#include <math.h>

void main()
{
    int a, b;
    printf("a = ");
    scanf("%d", &a);
    printf("b = ");
    scanf("%d", &b);
    int m, n;
    m = abs(a);
    n = abs(b);
    while (m*n!=0)
    {
        if (m > n)
            m = m - n;
        else
            n = n - m;
    }
    int kq = (abs(a*b)) / (m+n);
    printf("BCNN = %d", kq);
}

//========================================
//Cach 2
#include <stdio.h>
#include <conio.h>
#include <math.h>

int BCNN(int,int);
void main()
{
    int a, b;
    printf("a = ");
    scanf("%d", &a);
    printf("b = ");
    scanf("%d", &b);
    int kq = BCNN(a,b);
    printf("BCNN = %d", kq);
}

int BCNN(int c, int d)
{
    int m = abs(c);
    int n = abs(d);
    while (m*n!=0)
    {
        if (m > n)
            m = m - n;
        else
            n = n - m;
    }
    return (abs(c*d)/(m+n));
}

No comments:

Post a Comment