求多个数最小公倍数和最大公约数
求两个数最大公约数
int gcd(int n,int m)
{
return m>0?gcd(m,n%m):n;
}
求两个数最小公倍数
int lcm(int n,int m,int r)
{
return n*m/r;//n,m分别是两个数,r是两个数的最大公约数
}
求n个数的最小公倍数
#include<iostream>
using namespace std;
int gcd(int n,int m)
{
return m>0?gcd(m,n%m):n;
}
int lcm(int n,int m,int r)
{
return n*m/r;//n,m分别是两个数,r是两个数的最大公约数
}
int main()
{
int n,k;
int a[50];
cin>>n;
for(int i=0;i<n;i++)
cin>>a[i];
k=1;
for(int i=0;i<n;i++)
{
k=lcm(k,a[i],gcd(k,a[i]));
}
cout<<k<<endl;
return 0;
}
求多个数的最大公约数
#include<iostream>
#include<stdio.h>
using namespace std;
int gcd(int n,int m)
{
return m>0?gcd(m,n%m):n;
}
int lcm(int n,int m,int r)
{
return n*m/r;//n,m分别是两个数,r是两个数的最大公约数
}
int main()
{
int n,k;
int a[50];
cin>>n;
for(int i=0;i<n;i++)
cin>>a[i];
k=gcd(a[0],a[1]);
for(int i=2;i<n;i++)
{
k=gcd(k,a[i]);
}
cout<<k<<endl;
return 0;
}
当初的梦想实现了吗,事到如今只好放弃吗~

浙公网安备 33010602011771号