1 #include<stdio.h> 2 #include<math.h> 3 int main() 4 { 5 int sn , k ,n,t,i; 6 scanf("%d",&t) ; 7 for(i = 0 ;i < t ;i++) 8 { 9 if(i)printf(" "); 10 scanf("%d",&k) ; 11 if(k<0)k = -k; 12 if(!k){printf("3 "); continue ;} 13 n = (int)sqrt(k*2); 14 sn = (n+1)*n/2 ; 15 16 while( 1 ) 17 { 18 if(sn >= k) break; 19 n++ ; 20 sn+=n ; 21 } 22 while( (sn-k) % 2 !=0 ) 23 { 24 n++ ; 25 sn+=n ; 26 } 27 28 printf("%d ",n); 29 } 30 31 return 0 ; 32 }
刚开始 一直WA 原来是 换行 的问题 以后认真对待换行啊啊啊啊
!