伍六七带你学算法——被忽视的数学公式
中學時候學習那么多的數學,卻沒有人告訴我們這些數學公式我們以后會用到哪里?疑惑了十好幾年,直到,你進入it行業,它的舞臺來了!
在力扣上有一道中度難度的題,題目是這樣的👇
(圖片質量不是很好!)
題目: 求 1+2+…+n ,要求不能使用乘除法、for、while、if、else、switch、case等關鍵字及條件判斷語句(A?B:C)。
高中畢業后把數學一下子拋之腦后的我一下子懵了,作為一個真正意義上的搬磚工,我已經只會for if,不讓我循環??怎么做呢?
大概讓以前的老師直到我這樣可能想給我一拖板~
我靠 這不就是等差數列求和嘛,首尾一加再一除不就好了????
于是我滿懷羞澀的寫下了下面的答案~
public class _面試題64_ {/*** 解題思路:* 只需要用到我們中學數學中學過的等差數列求和公式* Sn=n(a1+an)/2 Sn=na1+n(n-1)d/2=dn^2/2+(a1-d/2)n* 公式中首項為a1,末項為an,項數為n,公差為d,前n項和為Sn。* 這里 我們的公差 d = 1 ,a1 = 1 , an = n , 套用公式 套用公式 Sn = (n^2+n)/2** @param n* @return*/public static int sumNums(int n) {return (int) (Math.pow(n, 2) + n) >> 1;}public static int sumNums2(int n) {return (1+n)*n/2;}//testpublic static void main(String[] args) {System.out.println(sumNums(8)+"-------"+sumNums2(8));}
}
尾注:
就在六一兒童節,我結束了我的大學生涯,我畢業了!
學習了那么多年知識,課本讓人麻木,到18歲我都不知道學那些數理化史地生有何用?老師也沒那閑心告訴你,如今的體制里人家也沒那義務。
大學四年,我才慢慢的將這些東西慢慢消化掉。我知道在生活中很多東西不能放在一起,他們之間是會有催化作用的;我知道,如果用好數學公式,前人發現、總結的這些規律會讓你在很多時候不那么費勁;我知道,為什么我的家鄉冬暖夏涼,我也給奶奶講為什么夏天太陽照不到家里來;我知道,無論什么病癥,多半是細菌感染,首要一步是消炎;我知道,在別的語言里也有美妙的詩歌和有趣的歷史、靈魂。在大學,我慢慢的解開了這些問題。我不再像以前一樣那么怨恨書本和教育體制以及所謂的一考定終身。
就像派大星和海綿寶寶一樣,我和我最好的朋友漸行漸遠,一年可能不發幾條消息。但當他有困難,我一定是最快能幫到他的。我相信遇到困難的人是我,他,也是一樣的,真正的朋友永遠是這樣的。
如今的我,有些對未來的恐懼,但我知道,只要我往前走,心里的石頭就會更平穩。不再以一個毛頭小子的視角面對社會。
親歷,望來日如期!
總結
以上是生活随笔為你收集整理的伍六七带你学算法——被忽视的数学公式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 伍六七带你学算法 动态规划 ——不同路径
- 下一篇: 设置linux初始root密码