hiho292 題目1 SCI表示法

2021-10-02 14:11:21 字數 1292 閱讀 1121

時間限制:

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表示最多能包含多少個整數。

樣例輸入

2  

15

8

樣例輸出

5

1

簡單列舉,假設連續正整數的首項是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的另乙個特點是,當計數溢位後,不需要控制初值...