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;
    }



  • 相关阅读:
    VIM文本替换命令
    VIM格式化代码(How to format code with VIM)
    字符串匹配的Boyer-Moore算法
    Java中数组的遍历
    UVa10723
    uva242,Stamps and Envelope Size
    UVa1630,Folding
    uva1629,Cake Slicing,记忆化搜索
    uva 10118,记忆化搜索
    uva10003
  • 原文地址:https://www.cnblogs.com/tigerisland/p/7563916.html
Copyright © 2011-2022 走看看