HihoCoder
来源:互联网 发布:能耗分析软件 编辑:程序博客网 时间:2024/06/03 15:10
#1543 : SCI表示法
时间限制:10000ms
单点时限:1000ms
内存限制:256MB
- 样例输入
2 15 8
- 样例输出
51
描述
每一个正整数 N 都能表示成若干个连续正整数的和,例如10可以表示成1+2+3+4,15可以表示成4+5+6,8可以表示成8本身。我们称这种表示方法为SCI(Sum of Consecutive Integers)表示法。
小Hi发现一个整数可能有很多种SCI表示,例如15可以表示成1+2+3+4+5,4+5+6,7+8以及15本身。小Hi想知道N的所有SCI表示中,最多能包含多少个连续正整数。例如1+2+3+4+5是15包含正整数最多的表示。
输入
第一行一个整数 T,代表测试数据的组数。
以下 T 行每行一个正整数N。
对于30%的数据,1 ≤ N ≤ 1000
对于80%的数据,1 ≤ N ≤ 100000
对于100%的数据,1 ≤ T ≤ 10,1 ≤ N ≤ 1000000000
输出
对于每组数据输出N的SCI表示最多能包含多少个整数。
可知(l+r)和(r-l+1)是2n的因数,又因为(l+r)-(r-l+1)==2l+1,是奇数。
所以枚举2n的因数,且两个因数差为奇数,较小的数为答案。取答案的最大值
#include<stdio.h>#include<math.h>#include<algorithm>using namespace std;int main(){ long long n,m,ans; while(scanf("%lld",&m)!=EOF) { while(m--) { scanf("%lld",&n); long long flag=sqrt(2*n); ans=1; for(long long i=1;i<=flag;i++) { if(2*n%i==0) { long long t=2*n/i; if((t-i)%2!=0) ans=max(ans,i); } } printf("%lld\n",ans); } }}
阅读全文
0 0
- hihocoder:
- hihoCoder
- Hihocoder
- hihocoder
- hihocoder
- hihocoder
- hihocoder
- hihocoder
- HihoCoder
- HihoCoder
- HihoCoder
- HihoCoder
- HihoCoder
- HihoCoder
- hihoCoder
- HihoCoder
- HihoCoder
- HihoCoder
- 215. Kth Largest Element in an Array
- 分享Kali Linux 2017年第31周镜像文件
- Linux内核中的常用宏container_of其实很简单
- LeetCode 263 Ugly Number
- LCS 最大公共序列算法
- HihoCoder
- hdu 1301 Jungle Roads
- Log4j配置详解
- 前端的图像错误优化
- 基于SIFT点特征匹配的图像配准MATLAB程序
- 相遇周期
- 全栈工程师之路-中级篇之小程序开发-第二章第二节小程序电影卡片模板
- 分金币问题---阿里巴巴2018年校招内推Java研发岗在线编程测验
- 淘宝NPM源的使用