杭电1019题

it2022-05-08  13

 //求最小公倍数//思路:先求两个数的最小公倍数,前两个数的最小公倍数与第三个数再求最小公倍数,求出最小公倍数后接着与第四个数相求。//求两个数的最小公倍数:利用辗转相除法#include <iostream>using namespace std;int gcd(int a,int b);int main(){    int row,col; cin>>row; for(int i=0;i<row;i++) {  cin>>col;  //smallmul代表最小公倍数,gcdnum代表最大公约数  int a,smallmul,gcdnum;  cin>>a;  smallmul=a;  for(int j=1;j<col;j++)  {   cin>>a;   gcdnum = gcd(smallmul,a);   smallmul=gcdnum*(smallmul/gcdnum)*(a/gcdnum);  }  cout<<smallmul<<endl; } return 0;}//辗转相除法求两个数的最大公约数int gcd(int a,int b){ int r=a % b; if(r==0)  return b; else  gcd(b,a % b);}

转载于:https://www.cnblogs.com/north_dragon/archive/2010/04/25/1720698.html


最新回复(0)