码迷,mamicode.com
首页 > 其他好文 > 详细

POJ1844 Sum

时间:2014-08-22 17:55:49      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:poj1844

Sum
Time Limit: 1000MS   Memory Limit: 30000K
Total Submissions: 10160   Accepted: 6674

Description

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. 

Input

The only line contains in the first line a positive integer S (0< S <= 100000) which represents the sum to be obtained.

Output

The output will contain the minimum number N for which the sum S can be obtained.

Sample Input

12

Sample Output

7

Hint

The sum 12 can be obtained from at least 7 terms in the following way: 12 = -1+2+3+4+5+6-7.

#include <stdio.h>

int main()
{
    int s, sum, i;
    while(scanf("%d", &s) == 1){
        sum = i = 0;
        while(sum < s || (sum - s) & 1)
            sum += ++i;
        printf("%d\n", i);
    }
    return 0;
}




POJ1844 Sum

标签:poj1844

原文地址:http://blog.csdn.net/chang_mu/article/details/38758799

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!