C语言_求n个数的最大公约数和最小公倍数

一、题目名称:求N个数的最大公约数和最小公倍数

 

二、算法设计:

基本要求:

1.构造辗转相除法来求两个数的最大公约数的函数;

2.构造根据求最大公约数来求两个数的最小公倍数的函数;

3.根据公式,可以知道两个数a,b的乘积等于他们的最大公约数和最小公倍数的积,所以假设他们的最大公约数为c,最小公倍数是d,则d=a*b/c.

4.构造求n个数的最大公约数的函数和最小公倍数的函数

方法是for循环调用gcd()和lcm()函数求n个数的最大公约数和最小公倍数。

5.在主函数中调用ngcd()和nlcm()函数。

6.输出所求的最大公约数和最小公倍数。

三、流程图

C语言_求n个数的最大公约数和最小公倍数_第1张图片

五、运行结果

C语言_求n个数的最大公约数和最小公倍数_第2张图片

源代码如下:

 

#include"stdio.h"
#include"stdlib.h"
#pragma warning(disable:4996)//scanf函数错误忽略
#define N 100

int gcd(int a, int b) //辗转相除法求两个数的最大公约数 
{
	int temp;
	if (a

 

你可能感兴趣的:(c语言)