A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© dayuanzhang 中级黑马   /  2016-6-9 00:54  /  1203 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

怎么求最大公约数

2 个回复

倒序浏览
辗转相除法,直到不能整除后,最大的那个除数就是最大公约数
回复 使用道具 举报
/*
输入两个整数,求两个数的最大公约数
*/
#include <stdio.h>
int main(){
    int num1,num2,result = 1;
    printf("请输入两个整数,用逗号隔开\n");
    scanf("%d,%d",&num1,&num2);
    if(num1 > num2){
        num1 = num1^num2;
        num2 = num1^num2;
        num1 = num1^num2;
    }
    for (int i = 2; i <= num1; i++) {
        if(num1%i == 0 && num2%i ==0){
            result = i;
        }
    }
    printf("最大公约数是:%d\n",result);
    return 0;
}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马