*/ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:zuidagongyueshu.cpp * 作者:常轩 * 微信公众号:Worldhello * 完成日期:2016年4月23日 * 版本号:V1.0 * 问题描述:探究求两数最大公约数的方法 * 程序输入:32 8 * 程序输出:见运行结果 */#include//递归法int main(){ int gcd(int x,int y); int a,b,g; scanf("%d %d",&a,&b); g=gcd(a,b); printf("最大公约数是:%d",g); return 0;}int gcd(int x,int y){ if(x<=y) if(y%x==0) return(x); else return(gcd(x,y%x)); else return gcd(y,x);}#include //普通法int main(){ int gcd(int x,int y); int a,b,g; scanf("%d %d",&a,&b); g=gcd(a,b); printf("最大公约数是:%d",g); return 0;}int gcd(int x,int y){ if(x>y) { int t; t=x;x=y;y=t; } int i,a; for(i=1;i<=x;i++) { if(x%i==0&&y%i==0) { a=i; } } return a;}
运行结果:
心得:
山重水复疑无路,柳暗花明又一村