UVA-10025 The ? 1 ? 2 ? ... ? n = k problem
2016-07-20 21:21
423 查看
2016-07-21
题目大意:输入 k,使得? 1 ? 2 ? ... ? n = k,其中 ? 为+ 或 -,求 n。
1+2+3+4,先求sum,当sum大于目标数k时,判断sum - k的结果是不是偶数,因为只有是偶数的时候,才能有?1?2?3……得到。因为开始的时候都是加,你如果把某一个数m前的+变成-后,原数减小了2个m。这就是原理。
注意:sum == k的时候也还死满足的。
UVA - 10025 The ? 1 ? 2 ? ... ? n = k problem
题目大意:输入 k,使得? 1 ? 2 ? ... ? n = k,其中 ? 为+ 或 -,求 n。1+2+3+4,先求sum,当sum大于目标数k时,判断sum - k的结果是不是偶数,因为只有是偶数的时候,才能有?1?2?3……得到。因为开始的时候都是加,你如果把某一个数m前的+变成-后,原数减小了2个m。这就是原理。
注意:sum == k的时候也还死满足的。
#include <iostream> #include <cstdio> using namespace std; int main() { int n; cin >> n; long long int sum,k; while ( n-- ) { sum = 0; cin >> k; if ( k < 0 ) k *= (-1); for (int i = 1; ; i++) { sum += i; if ( sum == k ) { cout << i << endl; break; } if ( sum > k ) { if ( (sum - k) % 2 == 0 ) { cout << i << endl; break; } } } if ( n ) cout << endl; } return 0; }
相关文章推荐
- 无向图的邻接矩阵基本操作
- 2016 Multi-University Training Contest 1-1004---HDU 5726 GCD
- React中使用Ant Table组件
- 用户名 不在 sudoers文件中,此事将被报告。
- UVA-621 Secret Research
- 又见GCD
- Android fontawesome-webfont.ttf字体库的使用
- linux误挂载到根目录出现问题
- 刘同学请保重身体
- CentOS 6.5命令行安装MATLAB2013
- I/O多路转接之epoll
- UVA11988 模拟题,水
- 杭电-1070-Milk (结构体+sort)
- Jump Game
- UVA - 10494 If We Were a Child Again
- c++11多线程 生产者-消费者模型/条件变量condition_variable
- UVA - 748 Exponentiation
- Memory leak in Windows 8.1 with Killer E2200 and Windows Network Data Usage Monitoring
- neural-networks-and-deep-learning mnist_average_darkness.py
- 多项式求和 hd 2011