time limit: 1 sec memory limit: 128 mb
submit: 8 solved: 3
[submit][status][discuss]
bs神的數學太牛了,他經常想一些極難極坑爹數學問題作弄同學,這不愚人節快到了,他又有壞點子了。我們都知道對於式子@1@[email protected]@n,如果要求用'+'或'-'來代替@,那麼最終肯定能得到
乙個整數t,使@1@[email protected]@n=t,這是相當簡單的。但是bs神太壞了,現在給你整數t,讓你求出最小的n,使@1@[email protected]@n=t成立(@依然用'+'or'-'代替)。例如:t=12時,有
- 1 + 2 + 3 + 4 + 5 + 6 - 7 = 12 ,此時n最小。
多個測試資料,乙個測試資料(t)佔一行,輸入以檔案結束為標誌。(0<=|t|<=1000000000)
對於每個t,輸出對應的最小n(n>=1),每個一行哦。
012-298000
313772這個題源自uva 10025改編而來,放在了我們學校的oj上,(有點侵權的意思)。。。拿到這個題真心不會,但是看完解題報告感覺這題也不是多麼難,只是我目前的水平還推不出來。廢話少說,開始寫思路
給定乙個k,不用管是負的還是正的,因為負的和正的可由變號得到。再此以正數為例講解。假定sum1=1+2+3+……+n>=k;那麼肯定存在sum2=1.2+...n=k;(...表示正負不確定)
因而可以得到 sum1-sum2=? 那麼?的判定條件是什麼呢?咱們可以推出sum2 的負號所對應的數總是sum1中減少的2倍。因而不難得到,sum1-sum2(即 sum1-k)一定是偶數。
剩下的就是暴力了。。
此題**如下:
#include #include #include using namespace std;int main()}}
return 0;
}