c++中求前n项和(这代码不得不让我佩服)
生活随笔
收集整理的這篇文章主要介紹了
c++中求前n项和(这代码不得不让我佩服)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
??今天在牛客網上刷題,遇到了這道題,最后我看到一位大佬的代碼讓我感覺的還差很多!!!
題目
??求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等關鍵字及條件判斷語句(A?B:C)。
??對于求前N 項和這種題我們在中學時代就已經很熟悉了,公式有很多,像這種遞增的在數學中套公式就好:Sn = n x(n-1)/ 2 就完事了,在C++中用一個循環就可以解決了
??但是這道題目要求的是“不能使用乘除法、for、while、if、else、switch、case等關鍵字及條件判斷語句(A?B:C)”,這就要不是那么容易了
??通常都會使用按位與和遞歸去寫這個程序,
思路為:
??但是下面這位仁兄的代碼讓我感到很新奇,幾乎很少有人會想到
這個代碼充分的將矩陣和前n項和的公式“n(a1+an)/2”融合
總結
以上是生活随笔為你收集整理的c++中求前n项和(这代码不得不让我佩服)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 传输层(知识架构图)
- 下一篇: C++ Programmer's Coo