Problem : 小兔子拜访朋友
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 0 Solved: 0
[ Submit][ Status]
Description
小兔子走路蹦蹦跳跳真可爱,今天小兔子又要出门去拜访朋友了。
设小兔子的家在(0,0),小兔子的朋友家在(x,0)。
小兔子第i次蹦蹦跳跳只能跳i的距离,问小兔子最快能跳多少次就到朋友的家。(每次跳跃可以向左也可以向右)
Input
输入一个整数 T,表示有 T 组测试数据。
对于每组测试数据,输入一个整数 x(-10e9 <= x <= 10e9)表示小兔子朋友家的x坐标。
Output
对于每组测试数据,输出一个整数,小兔子最快跳几次可以到朋友家。
Sample Input
Sample Output
HINT
//当初学长以我为原型编的大水题,结果自己狠狠的在新生赛中入了坑然后后来一度没想明白= =尴尬,题目很简单,方法也容易想到,判断需谨慎
#include<stdio.h>
int main(void)
{
int T,a;
scanf("%d",&T);
while(T--){
scanf("%d",&a);
int i,j,cnt=0;
if(!a){
printf("0\n");
continue;
}
if(a<0) a=-a;
for(j=1;j>0;j++){
cnt+=j;
if(cnt==a ||( cnt>a && (cnt-a)%2==0)){ //只要保证可以跳回来就ok了,当初一直复杂化了这个判断= =
printf("%d\n",j);
break;
}
}
}
return 0;
}