- 6
- 0
- 约1.08千字
- 约 3页
- 2018-03-09 发布于河南
- 举报
求N个整数的最大公约数
#include iostream
#include string
#include cstdarg
#define MAX 100
using namespace std;
int a[MAX],N;
//求两个正整数最大公约数
int fun(int a,int b)
{ cout FUN:进入fun函数 endl;
//cout 调用两个参数的fun endl;
int max , min ,q,r,i=0;
if(ab)
{
max = a;
min = b;
}
else
{
max = b;
min= a;
}
do
{
cout FUN:fun函数第 ++i 次循环 endl;
q = max / min;
r = max - min*q;
max = min;
min = r;
}while(r);
return max;
}
//求任意N个整数的最大公约数
int fun(int i,...) {
cout NFUN:进入Nfun函数 endl;
int j = i,q,q1;
N = i;
//首先把N个整数存入到数组中
va_list ap;
va_start(ap,i);
while(i--)
{
a[i] = va_arg(ap,int);
}
va_end(ap);
//求出前两个的公约数
q = fun(a[0],a[1]);
//求出N个整数的最大公约数
for(i= 2; ij ;i++)
{ cout NFUN:Nfun函数第 i-1 次循环 endl;
q1 = fun(q,a[i]);
q = q1;
}
return q;
}
int main()
{ int tem = fun(5,120,180,240,360,900);
for(int i = 0;iN;i++)
{
cout a[i] ;
}
cout 的最大公约数是: tem endl;
}
原创力文档

文档评论(0)