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;
}
相关文章
|
9月前
|
Java
HDU-4552-怪盗基德的挑战书
HDU-4552-怪盗基德的挑战书
61 0
|
9月前
|
Java 测试技术
hdu 1228 A + B
hdu 1228 A + B
54 0
|
C++
HDU1862
中文题,题意挺好理解,不过多赘述。
1282 0
|
机器学习/深度学习 人工智能
hdu 4463 Outlets
点击打开链接hdu 4463 思路:最小生成树+kruskal 分析: 1 题目要求的找到n个商店组成n-1条边,并且要求耐克和苹果商店肯定要相连,求最短长度 2 很明显的最小生成树的模板题,由于要求耐克和苹果的商店要在一起那么就要把这两个商店编号合并到同一个集合,然后在利用kruskal计算。
917 0

热门文章

最新文章