2009-11-14 19:19:11來源不明
95高市資訊學科能力競賽 運算式 + - 符號設定問題
在此先感謝 andy3466 提供想法
作法:數學
±1±2....±n=k
我們可以這樣想少一個數字m,sum將會減少2*m
若k-sum為偶數,則可以從1~n之內找出數字=之間的差
/************************************************************/
#include<stdlib.h>
#include<stdio.h>
#include<math.h>
main()
{
int k;
while(scanf("%d",&k)==1)
{
k=abs(k);
int n=(int)sqrt(k);
for(;;n++)
if(n*(n+1)/2>=k&&(k-n*(n+1)/2)%2==0) {printf("%d\n",n);break;}
}
return 0;
}