uva 10025 The ? 1 ? 2 ? ... ? n = k problem
2011-02-11 20:09
399 查看
这个题思路是先求1+2+3+……+n>k的最小n,然后判断1+2+……+n的和减去k是否为偶数,若为偶数,则n即为所求,若不是,则n++重复刚才的判断。把k都当做正数做,它们只差了个符号,在本题没有影响。
程序代码:
程序代码:
#include<iostream> #include<cmath> using namespace std; int main() { int m, n, num; cin>>m; while(m--){ cin>>n; if(n == 0){ cout<<3<<endl; if(m) cout<<endl; continue; } n = (int)fabs(n); num = (int)sqrt(n); while(1){ if(num * (num + 1) >= 2 * n ){ if(!(num & 1) && !((num / 2 * (num + 1) - n) & 1)){ //避免num * (num + 1)直接相乘益处 break; }else if((num & 1) && !(((num + 1) / 2 * num - n) & 1)) break; } num++; } cout<<num<<endl; if(m) cout<<endl; } return 0; }
相关文章推荐
- UVA 10025 The ? 1 ? 2 ? ... ? n = k problem
- UVa11991 Easy Problem from Rujia Liu? map,vector
- UVa100:The 3n + 1 problem
- UVa Problem 10043 Chainsaw Massacre (电锯惊魂)
- UVa Problem 10017 - The Never Ending Towers of Hanoi
- UVa Problem 109 - SCUD Busters
- UVA 729 - The Hamming Distance Problem
- UVa Problem 111 - History Grading
- UVA11479 Is this the easiest problem?【三角形判定+数学】
- uva729 The Hamming Distance Problem
- UVa 750 - 8 Queens Chess Problem
- UVa 11991 - Easy Problem from Rujia Liu?
- Problem on Group Trip UVALive - 7219 (模拟+优先队列处理)
- Problem 031 ——UVa 156 - Ananagrams
- PC/UVa 题号: 110101/100 3n+1 Problem
- uva 11069 A Graph Problem
- PC/UVa 题号: 110703/1014 Euclid Problem
- UVa - 1625 Color Length 颜色的长度 动态规划 重庆一中高2018级竞赛班第十次测试 2016.9.16 Problem 2
- uva 10025 The ? 1 ? 2 ? ... ? n = k problem(算式规律)
- uva101木块问题The Blocks Problem