NYOJ 215 Sum

Sum

时间限制:1000 ms  |  内存限制:65535 KB

难度:2

描述
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
AC码:
#include<stdio.h>
int main()
{
	int n,i,t;
	while(scanf("%d",&n)&&n)
	{
		i=1;
		t=1;
		while(t!=n)
		{
			i++;
			t=i*(i+1)/2;
			if(t>n)
			{
				if((t-n)%2==0)
					t=n;
			}
		}
		printf("%d\n",i);
	}
	return 0;
}

时间: 2024-10-22 09:46:33

NYOJ 215 Sum的相关文章

hdu3339 In Action(Dijkstra+01背包)

1 /* 2 题意:有 n 个站点(编号1...n),每一个站点都有一个能量值,为了不让这些能量值连接起来,要用 3 坦克占领这个站点!已知站点的 之间的距离,每个坦克从0点出发到某一个站点,1 unit distance costs 1 unit oil! 4 最后占领的所有的站点的能量值之和为总能量值的一半还要多,问最少耗油多少! 5 6 */ 7 8 /* 9 思路:不同的坦克会占领不同的站点,耗油最少那就是路程最少,所以我们先将从 0点到其他各点的 10 最短距离求出来!也就是d[i]的

while循环练习23

练习一,逐一显示指定列表中的所有元素: //方法一 In [25]: l1 Out[25]: [1, 2, 3, 4] In [26]: while l1:    ....:     print l1[0]    ....:     l1.pop(0)    ....:      1 2 3 4 //方法二 In [66]: count = 0 In [67]: count Out[67]: 0 In [68]: while count < len(l1):    ....:     print

练习5.1更新——四则运算 测试与封装

1 package ppackage; 2 import java.util.Random; 3 import java.util.Scanner; 4 import java.util.regex.Pattern; 5 6 7 public class Colc { 8 public int sighfh,fuhaosl; 9 public float sighsz1,sighsz2,answer2,sum2=0,sum3=0; 10 public float []sighsz=new flo

Go基础系列:Go实现工作池的两种方式

worker pool简介 worker pool其实就是线程池thread pool.对于go来说,直接使用的是goroutine而非线程,不过这里仍然以线程来解释线程池. 在线程池模型中,有2个队列一个池子:任务队列.已完成任务队列和线程池.其中已完成任务队列可能存在也可能不存在,依据实际需求而定. 只要有任务进来,就会放进任务队列中.只要线程执行完了一个任务,就将任务放进已完成任务队列,有时候还会将任务的处理结果也放进已完成队列中. worker pool中包含了一堆的线程(worker,

NYOJ 640 Geometric Sum

Geometric Sum 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描述 Compute (a + a^2 + - + a^n) mod m. 输入 Three integers a,n,m. (1≤a,n,m≤10^18) It ends with EOF. 输出 The only integer denotes the result. 样例输入 2 2 1000000000 样例输出 6 别人的AC码: #include <stdio.h> typedef

nyoj 927 The partial sum problem(dfs)

描述 One day,Tom’s girlfriend give him an array A which contains N integers and asked him:Can you choose some integers from the N integers and the sum of them is equal to K. 输入 There are multiple test cases. Each test case contains three lines.The firs

NYOJ 927 The partial sum problem 【DFS】+【剪枝】

The partial sum problem 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描写叙述 One day,Tom's girlfriend give him an array A which contains N integers and asked him:Can you choose some integers from the N integers and the sum of them is equal to K. 输入 There are mul

NYoj The partial sum problem(简单深搜+优化)

题目链接:http://acm.nyist.edu.cn/JudgeOnline/problem.php?pid=927 代码: 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 #include <math.h> 5 #include <algorithm> 6 #include <iostream> 7 using namespace std; 8

NYOJ 237 游戏高手的烦恼 &amp;&amp; POJ3041-Asteroids ( 二分图的最大匹配 )

链接: NYOJ 237  游戏高手的烦恼:click here~~ POJ  3041 Asteroids           :click here~~ 题意: 两题一样,翻译不同而已. 有一位传说级游戏高手,在闲暇时间里玩起了一个小游戏,游戏中,一个n*n的方块形区域里有许多敌人,玩家可以使用炸弹炸掉某一行或者某一列的所有敌人.他是种玩什么游戏都想玩得很优秀的人,所以,他决定,使用尽可能少的炸弹炸掉所有的敌人. 现在给你一个游戏的状态,请你帮助他判断最少需要多少个炸弹才能炸掉所有的敌人吧.