n皇后实现代码

论坛 期权论坛 脚本     
已经选择匿名的用户   2021-10-25 13:35   2333   0

// Note:Your choice is C++ IDE
//问题描述:求n个整数的最大公约数
//和公倍数;
//问题的思路:n个数的公倍数是n-1个数的公倍数与
//剩余一个数求公倍数,
//即(a1,a2,a3)=((a1,a2),a3);公约数的求法亦然;.
#include"stdafx.h"
#include<iostream>
int mindiv(int f,int s);
int maxmul(int f,int s);
using namespace std;
int main()
{
int n;
int*a;
cout<<"请输入数据个数:"<<endl;
cin>>n;
a=new int[n];
cout<<endl;
cout<<"请依次输入"<<n<<"个数的值:"<<endl;
for(int i=0;i<n;i++)
cin>>a[i];

int mid_temp=mindiv(a[0],a[1]);
int max_temp=maxmul(a[0],a[1]);
if(n>=2)
{
for(int i=2;i<n;i++)
{
mid_temp=mindiv(mid_temp,a[i]);
max_temp=maxmul(max_temp,a[i]);
}
}

cout<<"n个数的最大公约数:"<<mid_temp<<endl;
cout<<"n个数的最小公倍数:"<<max_temp<<endl;



}

int mindiv(int f,int s)
{
if(f<=s)
{
int temp1=f;
f=s;
s=temp1;
}
/*if(f%s==0)
return s;
else
{
int temp=f%s;
f=s;
s=temp;
return (f,s);
}*/

//或这样写
while(f%s!=0)
{
int temp=f%s;
f=s;
s=temp;
}

return s;
}

int maxmul(int f,int s)
{
int mindiv_temp=mindiv(f,s);
return (f*s)/mindiv_temp;
}

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:86
帖子:240
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP