zoukankan      html  css  js  c++  java
  • CCF NOI1028 判断互质

    问题链接CCF NOI1028 判断互质




    时间限制: 1000 ms  空间限制: 262144 KB

    题目描述

      输入两个正整数m和n,判断m和n是否互质(即最大公约数为1),是则输出Yes,否则输出No。

    输入

      输入两个整数m和n,中间用空格隔开。

    输出

      如互质输出Yes,否则输出No。

    样例输入

    36 56

    样例输出

    No

    数据范围限制

      1<=n,m<2^31



    问题分析

      判断互质可以通过求最大公约数来解决。

      最为有名的求最大公约数的算法是欧几里德算法,据称该算法是最早的计算机算法。

    程序说明

      函数gcd()是根据欧几里德算法实现的求最大公约数的函数。

    要点详解
    • 有时候,C语言的程序可以写得非常简洁,使用条件表达式便是一例。
    • 定义变量时,采用哪一种类型要根据数据范围限制来定。



    100分通过的C语言程序:

    #include <stdio.h>
    
    /* 欧几里得算法,计算最大公约数(递归法) */
    int gcd(int m, int n)
    {
        return (m == 0) ? n : gcd(n%m, m);
    }
    
    int main(void)
    {
        int m, n;
    
        scanf("%d%d", &m, &n);
    
        printf("%s
    ", (gcd(m, n) == 1) ? "Yes" : "No");
    
        return 0;
    }



  • 相关阅读:
    hashlib模块
    configparser模块
    xml模块和shelve模块
    json与pickle模块
    3/30
    os模块
    sys模块
    shutil模块
    random模块
    2月书单《编码隐匿在计算机软硬件背后的语言》 13-16章
  • 原文地址:https://www.cnblogs.com/tigerisland/p/7563916.html
Copyright © 2011-2022 走看看