HDU6545-Gcd

简介: 算法

机票

题目:wls 有一个整数 n,他想将 1 − n 这 n 个数字分成两组,每一组至少有一个数,并且使得两组数字的和的最大公约数最大,请输出最大的最大公约数。

思路:暴力去找整组数的和的最小因子,那么sum/因子=ans。因为整组数都随便拆.

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n,i,j;
    cin>>n;
    int sum=n+(n*(n-1))/2;
    if(n==2){
        cout<<1<<endl;
        return 0;
    }
    for(i=2;i<=sqrt(sum);i++){
        if(sum%i==0){
            cout<<sum/i<<endl;
            break;
        }
    }
    return 0;
}
相关文章
|
Java
hdu 1262 寻找素数对
hdu 1262 寻找素数对
39 0
HDU-1262,寻找素数对(素数打表)
HDU-1262,寻找素数对(素数打表)
|
Java
HDU 2504 又见GCD(最大公约数与最小公倍数变形题)
又见GCD Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 18480    Accepted Submission(s): 7708 ...
1185 0
|
Java
HDU 1021 Fibonacci Again
Fibonacci Again Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 58267    Accepted Submission(...
908 0
|
机器学习/深度学习 Java