我是真的好久沒寫數學題了。。。智商已下線。。
今天必須把這道題拿出來好好補點智商稅
這題在高中的時候我估計還能寫得出來,因為知道這道題怎麼做之後,我腦海裡清晰的記得自己將好多數列的公式都寫在筆記本的乙個位置。。。並且還有這道題的答案。。。是我太菜了
既然把公式忘了,那我就再來重新推一遍
題面可以得出我們所求的,是數列 12+22+32+……+n2之和
我們知道 a³-b³=(a-b)(a²+a*b+b²)
由此推得 n³-(n-1)³ = n²+n(n-1)+(n-1)² = 3n²+3n+1
進而可知 n³=(n³-(n-1)³)+
((n-1)³-(n-2)³)+
……+(2³-1³)+1
最終可得 n³=3×(1²+2²+3²+……+n²)-3×(1+2+3+……+n)+n
經轉化後即為 s(n)=(2n³+3n²+n)/6 == n(n+1)(2n+1)/6
那麼程式為
#include
using namespace std;
#define ll long long
const
int mod=
1e9+7;
ll n;
ll power
(ll x,ll y)
return ans;
}int
main()
return0;
}
此外,我們還有另外一種方法做這道題:
首先,我們可以用積分**,得出我們所求的和的公式一定是乙個3次方的公式,
然後就直接用待定係數法
ax³+bx²+cx+d=~
分別將x=0,1,2,3代入,解出方程,求得a,b,c,d 即得公式
計蒜客(數學題)
a i 1 2a i 2c i a i 1 假設a 1 0的情況下帶進去,然後把最後真正的a n 1 和假設出來的a n 1 相減然後除以 n 1 就是答案。這裡的n 1是通過規律看出來的。include include include include include include include...
牛客刷題 陣列求和
第一題 給定乙個整數陣列 nums 和乙個目標值 target,請你在該陣列中找出和為目標值的那 兩個 整數,並返回他們的陣列下標。解題思路 public class solution int target 9 solution s new solution s.twosum nums,target...
這是乙個數學題牛客訓練賽E
已知有乙個n 1個數的數列,對於給定的a0和an 當i滿足當1 i n 1時有 現在小星想知道對於這個數列一段區間的和。第一行輸入四個數 n,a0,an,q接下來q行 每行輸入兩個數l,r 0 n,a0,an 1e9,q 100000 0 l r n 對於每組查詢輸出al到ar的和示例1 3 0 3...