当k=0时,n=3;
当k!=0时,找最小的n,使sum=1+2+3+....+n >= |k|,且sum为偶数。
代码:
#include<iostream> using namespace std; int main() { int T, i, j, k, sum, p; cin >> T; while(T--) { sum=0; cin >> k; if (k < 0) k=-k; if (!k) cout << "3" << endl; else { i=0; while (sum<k) { i++; sum+=i; } p=sum-k; if (p % 2 == 0) cout << i << endl; else { for (j=i+1; ; j++) { p+=j; if (p % 2 == 0) { cout << j << endl; break; } } } } if (T) cout << endl; } return 0; }