zoukankan      html  css  js  c++  java
  • CF235A 【LCM Challenge】

    这题好毒瘤啊
    (特别是long long的坑,调了半天没调好!!)
    先将你特判一下小于3的话直接输出就是惹,不是的话就判断一下它能不能被2整除如果不能就直接输出n*(n-1)*(n-2)否则进行枚举
    枚举核心代码:

    	LL sum=0;
    	sum=i*j/gcd(i,j);
    	sum=sum*k/gcd(sum,k);
    	ans=max(ans,sum);
    

      求三个数的最小公倍数。

    #include<bits/stdc++.h>
    using namespace std;
    typedef long long LL;
    LL ans,n;
    LL gcd(LL a,LL b){
    	if(!b)return a;
    	return gcd(b,a%b);
    }
    int main(){
    	scanf("%lld",&n);
    	if(n<=2){
    		printf("%lld",n);
    		return 0;
    	}
    	if(!(n%2)){
    		for(LL i=n;i>=n-100;i--){
    			if(i==0)break;
    			for(LL j=n;j>=n-100;j--){
    				if(j==0)break;
    				for(LL k=n;k>=n-100;k--){
    					if(k==0)break;
    					LL sum=0;
    					sum=i*j/gcd(i,j);
    					sum=sum*k/gcd(sum,k);
    					ans=max(ans,sum);
    				}
    			}
    		}
    	}
    	else ans=(n*(n-1)*(n-2));
    	printf("%lld",ans);
    	return 0;
    }
    

      

  • 相关阅读:
    读取xml文件到实体
    dev常用控件的属性
    委托和事件
    GridControl应用
    关于DataTable的处理
    SQL2
    xaml地址写法
    sql临时表的创建及赋值
    wpf 图片缩放
    NIO简介
  • 原文地址:https://www.cnblogs.com/20020219-liu/p/11609814.html
Copyright © 2011-2022 走看看