long gcd(long m,long n)const //求最大公因数;
{
static long x;//设置x具有静态生存期;
if(m>n)//判断大的%小的得余数
{
if(n==0)x=m;//递归出口,当有一个为0时,另一个为最大公因数
else gcd(n,m%n);将余数与小数再求最小公因式;
}
else
{
if(m==0)x=n;
else gcd(m,n%m);
}
return x;
}
#include<stdioh>
void swap(int m,int n){
int t;
if(m < n){
t = n;
n = m;
m = t;
}
}
int f(int m,int n){
if(m%n == 0)return n;
else
return f(n,m%n);
}
int main(){
int p = 0,m = 0,n = 0;
printf("请按照由大到小的顺序输入两个整数,用空格隔开:\n");
scanf("%d%d",&m,&n);
swap(m,n);
p = f(m,n);
printf("两个数的最大公约数是:%d\n",p);
return 0;
}
def gys(x,y):
a,b=max(x,y),min(x,y)
c=a%b
if c==0:
return b
else:
return gys(b,c)
不知道行不行 你试试
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)