C语言:实验5-11 使用函数求最大公约数 .2021-07-23

实验5-11 使用函数求最大公约数 (10 point(s))

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

函数接口定义:

int gcd( int x, int y );

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

裁判测试程序样例:

#include 

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

感谢集美大学蓝华斌同学修正测试数据!

Author

张高燕

Organization

浙大城市学院

Code Size Limit

16 KB

Time Limit

400 ms

Memory Limit

参考答案:

int gcd( int x, int y )
{
    int result;
    for(result=x;result>=0;result-=1)
    {
        //因为 两数的最大公约数必定小于或等于两数中较小的一个
        //所以 无需判定x y大小关系
        //只需要 拿两数之一做除数,
        //若 除数不符合最大公约数
        //则 每次循环体结束后除数减一,被除数不变
        if(0==x%result&&0==y%result)
            return result;
    }
    
}

你可能感兴趣的:(#,C语言:简单习题)