描述
Consider the natural numbers from 1 to N. By associating to each number a sign (+ or -) and calculating the value of this expression we obtain a sum S. The problem is to determine for a given sum S the minimum number N for which we can obtain S by associating signs for all numbers between 1 to N.

For a given S, find out the minimum value N in order to obtain S according to the conditions of the problem.
输入
The input consists N test cases.
The only line of every test cases contains a positive integer S (0< S <= 100000) which represents the sum to be obtained.
A zero terminate the input.
The number of test cases is less than 100000.
输出
The output will contain the minimum number N for which the sum S can be obtained.
样例输入

3
12
0

样例输出

2
7

题意:给定一个数n,在1+2+3+4+…+k中,求随意改变加减号能使其和(差)正好为n的k为多少。
分析:每次累加i:
如果sum小于n则无论如何也不可能达到题意;
如果sum正好等于n则累加到这个k正好为答案;
如果sum大于n时,则需要把前面的加号改为减号:如果改为-1,结果就减2,如果改为-2,结果就减4,以此类推,可以看出只要sum-n为偶数,则此时可以改sum结果为n,得答案。
以下附上代码:

#include<stdio.h>
#include<string.h>
#include<iostream>
#include<algorithm>
#include<stack>
#include<math.h>
using namespace std;
int main()
{int sum;while(~scanf("%d",&sum)&&sum){for(int i=1;i<500;i++){int s=(i*(i+1))/2;if(s==sum){printf("%d\n",i);break;}else if(s>sum&&(s-sum)%2==0){printf("%d\n",i);break;}elsecontinue;}}return 0;
}

南阳oj 215 Sum相关推荐

  1. 南阳oj a+b问题

    #include<iostream> using namespace std; int main () { int a,b; cin>>a>>b; cout< ...

  2. NYOJ 215 Sum

    Sum 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描述 Consider the natural numbers from 1 to N. By associating ...

  3. LeetCode OJ - Path Sum II

    题目: Given a binary tree and a sum, find all root-to-leaf paths where each path's sum equals the give ...

  4. 南阳OJ独木舟上的旅行

     /*独木舟上的旅行 时间限制:3000 ms  |  内存限制:65535 KB 难度:2 描述 进行一次独木舟的旅行活动,独木舟可以在港口租到,并且之间没有区别. 一条独木舟最多只能乘坐两个人 ...

  5. 南阳oj入门题-蛇形填数

    /** 蛇形填数 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 在n*n方陈里填入1,2,...,n*n,要求填成蛇形.例如n=4时方陈为: 10 11 12 1 9 16 ...

  6. 南阳oj 题目722 数独

    数独 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 数独是一种运用纸.笔进行演算的逻辑游戏.玩家需要根据9×9盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行.每一 ...

  7. 多人过河问题C语言贪心算法,南阳oj贪心算法之过河问题

    /** 过河问题 时间限制:1000 ms | 内存限制:65535 KB 难度:5 描述 在漆黑的夜里,N位旅行者来到了一座狭窄而且没有护栏的桥边.如果不借助手电筒的话,大家是无论如何也不敢过桥去的 ...

  8. 【ACM】杭电OJ 4704 Sum (隔板原理+组合数求和公式+费马小定理+快速幂)

    http://acm.hdu.edu.cn/showproblem.php?pid=4704 1.隔板原理 1~N有N个元素,每个元素代表一个1.分成K个数,即在(N-1)个空挡里放置(K-1)块隔板 ...

  9. 南阳oj 1的个数

    #include<iostream> #include<math.h> using namespace std; int main () { int t; cin>> ...

  10. 南阳OJ 16 矩形嵌套

    描写叙述 有n个矩形,每个矩形能够用a,b来描写叙述,表示长和宽. 矩形X(a,b)能够嵌套在矩形Y(c,d)中当且仅当a<c,b<d或者b<c,a<d(相当于旋转X90度). ...

最新文章

  1. 程序员MM的自白:磨人小妖精之安卓碎片化
  2. 阿里团队最新实践:如何解决大规模分类问题?
  3. Python面向对象基础:设置对象属性
  4. 卷积神经网络初探 | 数据科学家联盟 http://dataunion.org/20942.html
  5. BZOJ 4326 NOIP2015 运输计划(树上差分+LCA+二分答案)
  6. 计算机系统是连续系统,连续系统的计算机模拟
  7. lua math.random()
  8. 东欧视频游戏市场概况
  9. python蓝牙通信_python实现蓝牙通信
  10. 用c语言编写一个汇编编译器,【提问】最早的汇编语言编译器如何诞生?
  11. 驱动ST7789 240*240 TFT屏 制作分光棱镜显示要点总结(镜像后图片颜色R、B对调了,使用PS修改图片)
  12. SAS的win10 64位安装过程
  13. android自动循环播放视频,Android编程实现VideoView循环播放功能的方法
  14. widows 程序无响应判断,程序假死状态
  15. 微软全息眼镜Hololens开发者版发货 售19000元
  16. java pem 签名_如何在Java中验证PEM格式证书
  17. 5G网速比4G快那么多,是否意味着4G即将淘汰?
  18. MI200e电力线通讯
  19. 用php输出每一天的时间安排表格_php输出日历表格(一个简单的日历)
  20. bresenham算法模拟游戏中的追踪路线

热门文章

  1. html5多重阴影怎么设置,使用CSS3 box-shadow属性实现按钮的多重阴影效果
  2. 大树体验云受邀参加CMO价值营销峰会 助力品牌新增长
  3. GBK UTF-8 ASCLL url编码集合
  4. 在线旅游中需要上传获取那些信息,对接旅行社护照录入系统
  5. 利用Android SAF(存储访问框架)进行游戏反和谐(伊甸园的骄傲)/Android data目录的访问限制
  6. 游戏虚拟引擎自学_自学5个小时,如何做出一个游戏?
  7. TCC(TinyC)编译器汉化(中文编译器、汉语编程)之五:语法分析下
  8. 利用Python制作本地Excel的查询与生成的程序
  9. 用css hack解决IE5 IE5.5 IE6 Firefox浏览器兼容性
  10. 【案例学习】最大锁具制造商怎样使用 Docker?