zoukankan      html  css  js  c++  java
  • hdu 4627 The Unsolvable Problem【hdu2013多校3签到】

    链接:


    The Unsolvable Problem

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
    Total Submission(s): 243    Accepted Submission(s): 143


    Problem Description
    There are many unsolvable problem in the world.It could be about one or about zero.But this time it is about bigger number.
    Given an integer n(2 <= n <= 109).We should find a pair of positive integer a, b so that a + b = n and [a, b] is as large as possible. [a, b] denote the least common multiplier of a, b.
     

    Input
    The first line contains integer T(1<= T<= 10000),denote the number of the test cases.
    For each test cases,the first line contains an integer n.
     

    Output
    For each test cases,print the maximum [a,b] in a line.
     

    Sample Input
    3 2 3 4
     

    Sample Output
    1 2 3
     

    Source
     


    题意:

                   找最大的最小公倍数
                给你一个数 N , a+b = N ,找最大的 lcm(a,b)

    思路:

               奇数的随便就看出来了,取一半就好了
            偶数的,写个暴力程序,打下表也可以随便看出规律,取一半了
    #include<stdio.h>
    #include<math.h>
    #include<algorithm>
    using namespace std;
    
    __int64 gcd(__int64 a, __int64 b)
    {
        return b == 0 ? a : gcd(b,a%b);
    }
    
    __int64 lcm(__int64 a, __int64 b){
        return a/gcd(a,b)*b;
    }
    
    int main()
    {
        int T;
        __int64 n;
        scanf("%d", &T);
        while(T--)
        {
            scanf("%I64d", &n);
            __int64 a,b;
            __int64 ans = 0,tmp1,tmp2;
            if(n&1) ans = lcm(n/2,n/2+1);
            else  
            {
                if(n == 2) ans = 1;
                else
                {
                    __int64 c = n/2-1;
                    tmp1 = lcm(c,n-c);
                    tmp2 = lcm(c-1,(n-c+1));
                    ans = max(tmp1,tmp2);
                }
            }
            printf("%I64d
    ", ans);
        }
        return 0;
    }
    



     
  • 相关阅读:
    在dotnet下用c#编写下载器(转载)
    hdu 1176
    hdu 1231(最大连续子序列)
    hdu 2571
    hdu 1087(最大递增子序列)
    hdu 1506(dp)
    hdu 1069
    hdu 2084(数塔经典dp)
    hdu 2602(01背包)
    hdu 1505
  • 原文地址:https://www.cnblogs.com/freezhan/p/3238977.html
Copyright © 2011-2022 走看看