sinat_37676560
云裳容
2017-12-01 01:54
采纳率: 95.2%
浏览 2.3k

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

图片说明

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • caozhy
    已采纳
    点赞 评论
  • dzxy17
    dzxy17 2018-01-03 15:11

    // 只有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;
    }
    }
    }

    点赞 评论

相关推荐