zoukankan      html  css  js  c++  java
  • 和为n的俩个数的最大lcm

    “只愿君心似我心,定不负相思意”——李之仪 
    小 W 将要去和小 K 约会啦!
    但聪(ao)明(jiao)的小 K 并不想让小 W 那么容易知道他们的约会地点。于是小 W 收到了一条信息:“给定两个数的和 nn, 请你求出这两个数的最小公倍数的可能值的最大值,作为交换,如果你给出了正确答案,我将会把你和小 K 的约会地点告诉你。”
    众所周知,小 W 是个数学弱渣,他只好求助数学巨佬小 H,但小 H 并不屑于做这种简单题,于是帮助小 W 的任务就交给你啦! 

    Input

    输入文件的第一行一个整数 TT 表示数据组数。
    接下来 TT 行每行一个整数 nn ,表示给定的两个数的和 nn,数据保证nn>0。

    Output

    TT 行,每行一个整数表示和为 nn 的两个数的最小公倍数的可能值的最大值。

    Samples

    Input Copy
    3
    2
    3
    4
    Output
    1
    2
    3

    Hint

    • 30%的数据满足 T10T≤10, 1<n10001<n≤1000
    • 100% 的数据满足 T10000T≤10000 ,1<n1091<n≤109

    Source

    石光中学 2018年 泉州复赛模拟 提高组 day1

    若n为奇数,则a和b相差 1 最优
    若n为偶数,令m = n/2,若m - 1和m + 1均为奇数,则a = m - 1, b = m + 1
    否则a = m - 2, b = m + 2
    特别的,n为2时,输出1

    #pragma GCC optimize(2)
    #include<bits/stdc++.h>
    #define x first
    #define y second
    using namespace std;
    typedef long long ll;
    int read(){
        int x=0; int f=1;
        char ch=getchar();
        while(ch<'0'||ch>'9') {if(ch=='-') f=-1; ch=getchar();}
        while(ch>='0'&&ch<='9') {x=x*10+ch-'0'; ch=getchar();}
        return x*f;
    }
    const int maxn=2e6+100;
    /*
    若n为奇数,则a和b相差 1 最优
    若n为偶数,令m = n/2,若m - 1和m + 1均为奇数,则a = m - 1, b = m + 1
    否则a = m - 2, b = m + 2
    特别的,n为2时,输出1
    */ 
    int main(){
        int t;
        cin>>t;
        while(t--){
            ll n;
            cin>>n;
            if(n==2){
                cout<<1<<endl;
            }
            else if(n&1){
                ll p=n/2;
                ll p1=p+1;
                ll ans=p*p1/__gcd(p,p1);
                cout<<ans<<endl;
            }
            else{
                ll p=n/2;
                ll p1,p2,ans;
                if(p%2==0){
                    p1=p-1;
                    p2=p+1;
                }
                else{
                    p1=p-2;
                    p2=p+2;
                }
                ans=p1/__gcd(p1,p2)*p2;
                cout<<ans<<endl;
            }
        } 
    } 
  • 相关阅读:
    《Typecript 入门教程》 3、接口
    《Typecript 入门教程》 2、访问控制符:public、private、protected、readonly
    《Typecript 入门教程》 1、类
    使用Visual Studio Code + Node.js搭建TypeScript开发环境
    call( )、apply( )
    Sublime Text Version 3.0,Build3143注册码
    angular指令笔记(一):ng-options
    java 约束配置文件和本地约束
    hadoop在zookeeper上的高可用HA
    Zookeeper简单初应用
  • 原文地址:https://www.cnblogs.com/lipu123/p/14410334.html
Copyright © 2011-2022 走看看