sinat_37676560
云裳容
采纳率100%
2017-12-01 01:54

ACM题目(互质)(求c或c++解决)

已采纳

图片说明

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • caozhy 回答这么多问题就耍赖把我的积分一笔勾销了 4年前
  • dzxy17 dzxy17 3年前

    // 只有1为公约数的两个正整数,两个整数才会互质
    // 也就是说两个整数的最大公约数为1,即可判断两个正整数互质
    bool isrp(int a, int b){
    if(a <=0 || b<=0 || a==b){ // 互质整数不能小于或等于0
    return false;
    }else if(a==1 || b==1){ // 两个正整数中,只有其中一个数值为1,两个正整数为互质数
    return true;
    }else{
    // 求出两个正整数的最大公约数
    while(1){
    int t = a%b;
    if(t == 0){
    break;
    }else{
    a = b;
    b = t;
    }
    }
    if( b > 1){ // 如果最大公约数大于1,表示两个正整数不互质
    return false;
    }else{ // 如果最大公约数等于1,表示两个正整数互质
    return true;
    }
    }
    }

    点赞 评论 复制链接分享