最小公倍数=两数乘积/最大公约数(相减法、辗转相除法)
晨跑
http://www.nowcoder.com/questionTerminal/cf2e7025bf3e44eea0cd50ef9ac75e93
#include<iostream> using namespace std; /*最小公倍数=两数乘积 / 最大公约数*/ long beishu(long a, long b){ long m=a*b;/*两数乘积*/ /*最大公约数--相减法*/ // while(a<b || a>b){ // if(a<b)b=b-a; // if(a>b)a=a-b; // } /*最大公约数--辗转相除法*/ if(b>a) swap(a,b); long c=a%b; while(c!=0){ a=b; b=c; c=a%b; } return m/b; } int main(){ long a,b,c; cin>>a>>b>>c; long p=beishu(a,b); long q=beishu(p,c); cout<<q<<endl; return 0; }