最大公约数与最小公倍数的C语言实现

来源:互联网 发布:网络摄像头通用pc软件 编辑:程序博客网 时间:2024/06/07 00:12
#include<stdio.h>#include<stdlib.h>int Divisor(int a, int b)  //最大公约数{    if ((a <= 0) || (b <= 0))        return -1;    int min;    min = (a <= b) ? a : b;    while (min)    {        if ((a%min == 0) && (b%min == 0))            return min;        else            min--;    }    return -1;}int Multiple(int a, int b)   //最小公倍数{    if ((a <= 0) || (b <= 0))        return -1;    int max;    max = (a >= b) ? a : b;    while (max)    {        if ((max%a == 0) && (max%b == 0))            return max;        else            max++;    }    return -1;}int main(){    int a = 8;    int b = 12;    int ret_D = Divisor(a, b);    if (ret_D != -1)        printf("greatest common divisor=%d\n", ret_D);    else        printf("no greatest common divisor\n");    int ret_M = Multiple(a, b);    if (ret_D != -1)        printf("least common multiple=%d\n", ret_M);    else        printf("no least common multiple\n");    system("pause");    return 0;}
0 0