其他分享
首页 > 其他分享> > 5-11 使用函数求最大公约数

5-11 使用函数求最大公约数

作者:互联网

本题要求实现一个计算两个数的最大公约数的简单函数。

函数接口定义:

int gcd( int x, int y );

其中xy是两个正整数,函数gcd应返回这两个数的最大公约数。

裁判测试程序样例:

#include <stdio.h>

int gcd( int x, int y );

int main()
{
    int x, y;

    scanf("%d %d", &x, &y);
    printf("%d\n", gcd(x, y));

    return 0;
}

/* 你的代码将被嵌在这里 */

输入样例:

32 72

输出样例:

8

 

 

解题思路 

最大公约数我们上学的时候教的就是怎么把两个数先用可能的数约到不能约为止,然后在把约数相乘就得到最终的公约数。我们就利用遍历先判断那个数小,再把小的的数作为公约数开始的条件,然后逐一遍历查找最大公约数。

废话不多说直接上代码(盘他)

/* 你的代码将被嵌在这里 */

int gcd(int x, int y)
{
    //判断两个数那个大
    int i = 0;
    if (x - y > 0)
    {
        i = x;
    }
    else
    {
        i = y;
    }

    for (i=i+1; i >1; i--)
    {
        //判断循环数是否是公约数
        if (x%i==0&&y%i==0)
        {
            break;
        }
        
    }
    return i;
    
}

 

标签:11,函数,int,样例,最大公约数,公约数,gcd
来源: https://blog.csdn.net/beatfull_now/article/details/105011004