[C++] hdoj1019简单数学题 →→→→→进入此内容的聊天室

来自 , 2021-03-04, 写在 C++, 查看 107 次.
URL http://www.code666.cn/view/fb8feff2
  1. #include<iostream>
  2. using namespace std;
  3.  
  4. int get_least_common_multiple(int a, int b){//这个函数用于得到最小公倍数
  5.         int init_data1, init_data2;
  6.         init_data1 = a;
  7.         init_data2 = b;
  8.         if(a < b){
  9.                 int t;
  10.                 t = a;
  11.                 a = b;
  12.                 b = t;
  13.         }
  14.         int c;
  15.         while((c = a % b ) != 0){//辗转相除法求最大公约数
  16.                 a = b;
  17.                 b = c;
  18.         }
  19.         //long long int t1 = (init_data1 * init_data1);
  20.         return init_data1 / b * init_data2;//注意防止溢出
  21.         //这是求最小公倍数的数学公式
  22. }
  23.  
  24. int main(){
  25.         int a, b;
  26.         int n, m;
  27.         cin>>n;
  28.         for(int i = 0; i < n; i++){
  29.                 cin>>m;
  30.                 cin>>a;
  31.                 for(int j = 0; j < m - 1; j++){
  32.                         cin>>b;
  33.                         a = get_least_common_multiple(a, b);
  34.                 }
  35.                 cout<<a<<endl;
  36.         }
  37. }

回复 "hdoj1019简单数学题"

这儿你可以回复上面这条便签

captcha