//66666,非常精髓了,我这么写的,也ac了 public static int getN(int n) { if(n< 0) return getN(-n) ; int i=0; while(i*(i+1)<2*n){ i++; } if(i*(i+1)==2*n){ return i ; }else{ if((i*(i+1)/2-n)%2==0){ return i; }else{ if(i%2==0){ return i+1 ; } else { return i+2 ; } } } }