URAL 1120. Sum of Sequential Numbers (数学)
2015-06-21 15:45
351 查看
1120. Sum of Sequential Numbers
Time limit: 1.0 secondMemory limit: 64 MB
There is no involute formulation concerning factitiously activity of SKB Kontur in this problem. Moreover, there is no formulation at all.
Input
There is the only number N, 1 ≤ N ≤ 109.Output
Your program is to output two positive integersA and Pseparated with a space such that:
N = A + (A + 1) + … + (A + P − 1).
You are to choose a pair with the maximal possible value of P.
Sample
input | output |
---|---|
14 | 2 4 |
Problem Source: USU Open Collegiate Programming Contest October'2001 Junior Session
解析:由N = A + (A + 1) + … + (A + P − 1)可计算出P的最大值为sqrt(2*n),直接枚举即可。
AC代码:
#include <bits/stdc++.h> using namespace std; int n; int ansa, ansp; int f(int a, int b){ return ((b - a + 1) % 2) ? ((b - a) / 2 * (a + b - 1) + b) : ((b - a + 1) / 2 * (a + b)); } int main(){ int n; while(scanf("%d", &n) != EOF){ int p = sqrt((double)(2 * n)); //P的最大值 while(p){ int a = (2*n / p - (p - 1))>>1; //通过P,计算A if(a && f(a, a + p - 1) == n){ ansa = a; ansp = p; break; } p --; } printf("%d %d\n", ansa, ansp); } return 0; }
相关文章推荐
- 使用Fiddler截断更改Request数据
- UIView 的旋转与缩放以及同时应用两种效果
- 【Android UI设计与开发】第10期:顶部标题栏(一)ActionBar详细概述和简单示例
- 国内UED大全
- - (UIIMAGE *)STRETCHABLEIMAGEWITHLEFTCAPWIDTH:(NSINTEGER)LEFTCAPWIDTH TOPCAPHEIGHT:(NSINTEGER)TOPCAP
- Android Studio开发第一篇QuickStart
- UIAlertController类学习
- NGUI学习笔记(四):动态加载UI和NGUI事件
- pyside direct load ui file
- 优先队列 java PriorityQueue
- [常见错误 及 解决方案系列]USE " cc.exports.* = value " INSTEAD OF SET GLOBAL VARIABLE"
- Uva - 1152 - 4 Values whose Sum is 0
- Uva - 1152 - 4 Values whose Sum is 0
- SoapUI利用Groovy把外部数据加载到request中
- Uva - 1605 - Building for UN
- Uva - 1605 - Building for UN
- 《Java程序设计》第14周实验作业:GUI编程初步
- php 用continue加数字实现foreach 嵌套循环中止
- OGRE 1.7以上版本实现鼠标查询(非CEGUI)
- leetcode--Implement Stack using Queues