金币1
题目信息
见链接
解题思路
首先我们需要知道这两条公式:
1 + 2 + 3 + 4 + ⋯ + n = n × ( n + 1 ) 2 1+2+3+4+\dots+n=\frac{n\times(n+1)}{2} 1+2+3+4+⋯+n=2n×(n+1)
1 2 + 2 2 + 3 2 + 4 2 + ⋯ + n 2 = n × ( n + 1 ) × ( 2 n + 1 ) 6 1^2+2^2+3^2+4^2+\dots+n^2=\frac{n\times (n+1)\times (2n+1)}{6} 12+22+32+42+⋯+n2=6n×(n+1)×(2n+1)
然后让我们一起推一推 O ( 1 ) \operatorname O(1) O(1)公式吧!
首先,由题意,设天数为 D D D,金币组数为 N N N,不满一组的为 R R R,则有:
D = ( 1 + 2 + 3 + ⋯ + N ) + R ⇔ D = N × ( N + 1 ) + 2 R 2 ⇔ N 2 + N − 2 D ≈ 0 ∴ N = int ( − 1 + Δ 2 ) = int ( − 1 + 1 2 − 4 × 1 × ( − 2 D ) 2 ) = int ( 8 D + 1 − 1 2 ) ∴ N = int ( 8 × D + 1 − 1 2