题目大意:给多个数,求这几个数的最小公倍数
解决:递归
#include <iostream> using namespace std; int gcd(int a,int b) { if(b==0)return a; else return gcd(b,a%b); } __int64 lcm(int num[],int n) { if(n==1)return num[0]; else { __int64 ret=lcm(num,n-1); return ret* num[n-1] /gcd(ret,num[n-1]); } } int main() { int icase; cin>>icase; int n; while(icase--) { cin>>n; int *num=new int[n]; for(int i=0;i<n;i++)cin>>num[i]; cout<<lcm(num,n)<<endl; delete[]num; } // system("pause"); return 0; }