時間限制:
10000ms
單點時限:
1000ms
記憶體限制:
256mb
每乙個正整數 n 都能表示成若干個連續正整數的和,例如10可以表示成1+2+3+4,15可以表示成4+5+6,8可以表示成8本身。我們稱這種表示方法為sci(sum of consecutive integers)表示法。
小hi發現乙個整數可能有很多種sci表示,例如15可以表示成1+2+3+4+5,4+5+6,7+8以及15本身。小hi想知道n的所有sci表示中,最多能包含多少個連續正整數。例如1+2+3+4+5是15包含正整數最多的表示。
第一行乙個整數 t,代表測試資料的組數。
以下 t 行每行乙個正整數n。
對於30%的資料,1 ≤ n ≤ 1000
對於80%的資料,1 ≤ n ≤ 100000
對於100%的資料,1 ≤ t ≤ 10,1 ≤ n ≤ 1000000000
對於每組資料輸出n的sci表示最多能包含多少個整數。
樣例輸入
215
8
樣例輸出
51
簡單列舉,假設連續正整數的首項是a,項數是m,那麼根據等差數列求和公式有:
n =(
a+a+
m−1)
∗m
2n = \frac
n=2(a+
a+m−
1)∗m
於是有:
2 ∗n
=(2∗
a+m−
1)∗m
2*n = (2*a+m-1)*m
2∗n=(2
∗a+m
−1)∗
m所以 m 是 2n的約數。我們可以列舉2n所有的約數,並檢查a是否有整數解。然後記錄m的最大值就是答案。由於約數是成對出現的,所以只要列舉[1,
2∗n]
[1,\sqrt]
[1,2∗n
]就行。
#include
#include
#include
#include
using
namespace std;
void
solve
(int
& n)
} cout << res << endl;
}int
main()
return0;
}
zuul呼叫時間超過1s返回 timeout錯誤
zuul呼叫時間超過1s返回 timeout錯誤zuul遇到的問題,每個請求超過1s就會被熔斷,給呼叫方返回timeout 在yml配置裡加入以下配置,解決了這個問題 問題在於zuul預設整合了hystrix,可以在配置檔案將hystrix給關閉,然後ribbon的超時時間也要設定 我依賴的zuul...
語音實驗1 S口模擬電話呼叫實驗
邏輯拓撲 物理拓撲 物理槽位 無插卡 實驗目的 通過本實驗理解模擬 的呼叫信令過程,能夠配置實現模擬端的呼叫 實驗步驟 檢查裝置語音口狀態 1002呼叫1001 r1 config dial peer voice 1001 pots 定義1001撥號規則 r1 config dial peer de...
定時工作方式2實現1s定時
定時器的幾種工作方式中,除0和前面的1類似都需要初始化計數值,然後開始計數,計數溢位後,需要再次控制計數的初值,但工作模式2不同於此,工作方式2將thx和tlx分開處理,將初值存放在thx中,計數時只處理tlx的8位,所以計數最大值為2 8 256,方式2的另乙個特點是,當計數溢位後,不需要控制初值...