第七章 编程练习题 第二题

两个整型值M和N(M、N均大于0)的最大公约数可以按照下面的方法计算:


请编写一个名叫gcd的函数,它接受两个整型参数,并返回这两个数的最大公约数。

如果这两个数中的任何一个数不大于零,函数就应该返回零。

//**************************************************************************************************************************

/*
   题意是求两个数的最大公约数‘
   1.两个数存在不大于零的数即返回0;
   2.两个数求公约数:
     M%N=0:    N    
	 M%N=R,R>0;   gcd(N,R);
	 (小的数除以大的数,商为0,余数为小的数本身);
*/
#include<stdio.h>
int qcd(int M, int N);
int main()
{
	int M = 23;
	int N = 634;
	printf("%d\n", qcd(M, N));
	return 0;
}

int qcd(int M, int N)
{
	if (M <= 0 || N <= 0) {
		return 0;
	}
	if (M%N == 0) {
		return N;
	}
	else if (M%N > 0) {
		 qcd(N, M%N);
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值