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
* 一:sum一定要大于或等于输入的S.(等于时就已经找到了答案)
*
*
* 二:在满足第一条的情况下,注意一定要满足第一条后
*
* 这里( sum = 1 + 2
*
*
*
*
*
*
*
*
*
*
*
*
*
*
#include<stdio.h>
int main()
{
int n,i,ans;
while(scanf("%d",&n),n)
{
ans=i=0;
while(ans<n||(ans-n)%2==1)
{
ans+=++i;
}
printf("%d\n",i);
}
return 0;
}