zoukankan      html  css  js  c++  java
  • C语言 · 求最大公约数

    算法提高 求最大公约数  
    时间限制:1.0s   内存限制:512.0MB
        
    编写一函数gcd,求两个正整数的最大公约数。
    
    样例输入: 
    5 15
    样例输出:
    5
    样例输入: 
    7 2
    样例输出:
    1

    作者注释:常用两种方法:递归法,相减法。

    递归法代码:
     1 #include<stdio.h> 
     2 //递归求最大公约数 
     3 int gcd(int m,int n)  
     4 {  
     5     return n==0?m:gcd(n,m%n);  
     6 }
     7 int main(){
     8     int m,n;
     9     scanf("%d%d",&m,&n);
    10     printf("%d",gcd(m,n));
    11 } 

    递减法代码:

    #include<stdio.h> 
    //相减法求最大公约数
    int gcd(int a,int b){
        while(a!=b){
            if(a>b){
                a = a-b;
            } else {
                b = b-a;
            }
        }
        return a;//最大公约数是a or b
    }
    int main(){
        int m,n;
        scanf("%d%d",&m,&n);
        printf("%d",gcd(m,n));
    } 
  • 相关阅读:
    随笔
    我的舅舅
    代码规范
    SpringMVC_乱码问题
    SpringMVC_接受请求及数据回显
    Restful风格
    第六周总结
    SpringMVC_控制器
    SpringMVC_初次使用
    SpringMVC_简介
  • 原文地址:https://www.cnblogs.com/panweiwei/p/6612435.html
Copyright © 2011-2022 走看看