首先找到前n项和S刚好比k大的位置,然后判断和S与k的差值,如果是偶数及ok(因为此时可以通过改变前n项中某一个数字x的符号,使得和S减少2x,从而等于k),如果是奇数,n增大直到差为偶数。
注意k=0这种边界情况,此时应该输出n=3 (因为题目中n>=1)。
/* * uva10025.cpp * * Created on: 2013-4-17 * Author: kevinjiang */ #include<cstdio> #include<cmath> int main() { int cases; int n; int k; scanf("%d", &cases); while (cases--) { scanf("%d", &k); if (k < 0) k = -k; n = (int) sqrt(2 * k) - 1; if(n<1) n=1; for (; (n * (n + 1) / 2 < k) || ((n * (n + 1) / 2 - k) % 2 == 1); n++) { } printf("%d\n", n); if (cases) printf("\n"); } return 0; }
相关推荐
3. **确定三角形**:对于每个角点`j`,再遍历角点`j`之后的所有角点`k`(`j+1`到`N`),检查连接角点`j`和`k`的发光管的颜色。 4. **比较颜色**:如果连接角点`i`到`j`以及角点`j`到`k`的发光管颜色相同,则检查连接...
标题中的"UVaOJ-401(Palindromes)"表明这是一个关于解决UVa Online Judge(UVa OJ)上编号为401的编程挑战,该挑战的主题是"Palindromes",即回文串。回文串是指一个字符串无论从前读到后还是从后读到前都是相同的,...
Uva 100 ,问题是The 3n+1 probelm ,可以ac的代码
【标题】"uva705-Slash-Maze-.rar_Slash_uva705" 指向的是一个在UVa Online Judge (UVa OJ) 上提交并通过的编程问题,具体为问题编号705,名为"Slash Maze"。这个压缩包很可能包含了该问题的解决方案源代码。 ...
UVA 100题答案
开源项目-codingsince1985-UVa#uva-online-judge-solutions-in-golang.zip,两年来每天都在解决一个uva在线裁判问题,算起来…
"Algorithm-UVA-Solutions-in-Python.zip"这个压缩包文件正是针对UVA竞赛中问题的Python 3解决方案集合。 Python作为一门易学且功能强大的编程语言,因其简洁的语法和丰富的库支持,成为了许多算法爱好者和开发者的...
1. **UVA112 - Grid Traveler**:这是一道经典的动态规划问题,要求计算在m×n的网格中,从左上角到右下角有多少种不同的行走路径。关键在于构建一个二维数组,存储每个位置到达的方法数。 2. **UVA191 - Darts**:...
### UVA10474 Where is the Marble? #### 问题背景 Raju 和 Meena 喜欢玩一种与数字标记的弹珠游戏。在这个游戏中,Raju 首先按照数字升序排列弹珠,然后 Meena 会询问特定数字的弹珠首次出现的位置。如果 Raju 能...