最大最小公倍數ios
#include<iostream> using namespace std; /*****getlcd()求兩個數的最大公約數**********/ long long int getlcd(long long int a, long long int b){ return (a%b==0?b:getlcd(b, a%b)); } /****getmc()求三個數的最小公倍數*********/ long long int getmc(long long int a, long long int b, long long int c){ long long int t=a*b/getlcd(a, b); t=t*c/getlcd(t, c); return t; } int main(){ int n; cin>>n; long long int a=1, b=2, c=3, ans=6; for(int i=4; i<=n; i++){ //貪心 long long int e=getmc(a, b, i); long long int f=getmc(a, c, i); long long int g=getmc(b, c, i); if(e>f&&e>g&&e>ans){ c=i; ans=e; }else if(f>e&&f>g&&f>ans){ b=i; ans=f; }else if(g>e&&g>f&&g>ans){ a=i; ans=g; } } cout<<ans<<endl; return 0; }