题目1056:最大公约数

来源:互联网 发布:linux文件类型有哪些 编辑:程序博客网 时间:2024/06/05 04:57

// 递归法

#include<stdio.h>

int gcd(int a,int b){
    if(b==0) return a;         // 若b为零,则最大公约数为a 
    else return gcd(b,a%b);    // 否则,则改为求b和a%b的最大公约数 
}
int main()
{
    int a,b;
    while(scanf("%d%d",&a,&b)!=EOF){
        printf("%d\n",gcd(a,b));  
    }
    return 0;    

}

// 非递归法

#include<stdio.h>
int main()
{
    int m,n,t;
    while(scanf("%d %d",&m,&n)!=EOF){
        while(n>0){
            m=m%n;
            t=n;
            n=m;
            m=t;       
        }    
        printf("%d\n",m);        
    }
    return 0;
}
 

 
0 0
原创粉丝点击