uva 10025

 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  原来是 换行 的问题  以后认真对待换行啊啊啊啊
!

原文地址:https://www.cnblogs.com/shaughn/p/3424246.html