程序員搶了數(shù)學(xué)家的飯碗

【威哥說】沒有接觸過程序的同學(xué)尉间,感覺代碼距離我們很好遙遠(yuǎn)巍膘,可是你真正的學(xué)會(huì)了編程之后摊沉,你才知道狐史,其實(shí)程序可是實(shí)現(xiàn)所有的事物。本篇文章就是波波老師針對(duì)一個(gè)學(xué)生的提問说墨,單純的使用循環(huán)和判斷實(shí)現(xiàn)的楊輝三角骏全。大家一起學(xué)習(xí)一下吧。

有學(xué)生問到楊輝三角該如何用代碼實(shí)現(xiàn)尼斧,說來也有意思姜贡,他把規(guī)律都總結(jié)完了,就是寫不出來代碼棺棵,我一問是為什么楼咳,小伙說不能用數(shù)組,就單純的用循環(huán)和判斷來實(shí)現(xiàn)律秃,想想覺得還挺有意思爬橡,就整理了整理治唤。

網(wǎng)上找了找代碼棒动,有趣的是都是用的二維數(shù)組來實(shí)現(xiàn)的,所以就沒有具體去研究了宾添,看看如何自己來實(shí)現(xiàn)船惨。首先我們看一下效果圖:

如上圖所示,這里我們從控制臺(tái)輸入要顯示的行數(shù)缕陕,然后來具體的進(jìn)行顯示粱锐。

首先,總結(jié)規(guī)律如下:

第n行的第一個(gè)數(shù)為1扛邑,第二個(gè)數(shù)為1x(n-1)怜浅,第三個(gè)數(shù)為1x(n-1)x(n-2)/2,第四個(gè)數(shù)為1x(n-1)x(n-2)/2x(n-3)/3…依次類推蔬崩。

那么找到規(guī)律了恶座,就很好解決了,具體如何用代碼來實(shí)現(xiàn)沥阳?

首先看到這么一個(gè)圖形跨琳,首先第一反應(yīng)嵌套循環(huán)是跑不掉的,如果沒有第一時(shí)間對(duì)嵌套

循環(huán)產(chǎn)生想法桐罕,那么證明你三角形還是畫少了脉让。桂敛。。溅潜;

首先我們通過Scanner獲取一個(gè)鍵盤輸入的數(shù):

Scanner input = new Scanner(System.in);

int n = input.nextInt();

那么首先外層循環(huán)控制行數(shù):

for( int i = 1 ; i <=n ; i++ ){

//由上面的布局來看术唬,前面是要輸出一個(gè)倒三角的空格形狀的,那么此處我們用空格給代替

//由于倒三角是上面多下面少伟恶,呈遞減趨勢(shì)碴开,所以我們初始位置為n,判斷條件為j>=i博秫,趨勢(shì)為遞減潦牛,就能得到一個(gè)遞減的趨勢(shì)了。

for (int j = n; j >=i; j--) {

//這里輸出空格

System.out.print(" ?");

}

//由上面的總結(jié)我們看一下

第一個(gè)數(shù): ? ?a1 = 1

第二個(gè)數(shù): ? ?a2 = a1x(n-1)

第三個(gè)數(shù): ? ?a3 = a2x(n-2)/2

第四個(gè)數(shù): ? ?a4 = a3x(n-3)/3

… …

總結(jié)出來規(guī)律就是每行后一個(gè)數(shù)是前一個(gè)數(shù)乘以(n-(第幾個(gè)數(shù)-1))/(第幾個(gè)數(shù)-1)挡育;

所以每輪需要一個(gè)數(shù)來記錄前一個(gè)數(shù)的值巴碗,這里我們定義一個(gè)sum,初始值等于1

int sum = 1;

//首先需要一個(gè)內(nèi)層循環(huán)控制每行的個(gè)數(shù),而且我們發(fā)現(xiàn)每行的個(gè)數(shù)是遞增的所以即寒,初始為1橡淆,小于等于i,就能達(dá)成遞增的趨勢(shì)

for (int j = 1; j <= i; j++) {

//上圖可以看出很明顯每行第一個(gè)都是1母赵,那么我們就判斷如果為1直接輸出

if (j == 1) {

System.out.print(1+" ? ");

}else{

//后邊就是直接通過基礎(chǔ)的編碼來實(shí)現(xiàn)咱們發(fā)現(xiàn)的邏輯了

sum*=(i-(j-1));

sum/=(j-1);

System.out.print(sum+" ? ");

}

}

System.out.println();

}

如上就是整個(gè)的楊輝三角的實(shí)現(xiàn)邏輯了逸爵,個(gè)人覺得其實(shí)比網(wǎng)上二維數(shù)組的要好理解一些,大家闊以研究研究凹嘲。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末师倔,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子周蹭,更是在濱河造成了極大的恐慌趋艘,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,807評(píng)論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件凶朗,死亡現(xiàn)場(chǎng)離奇詭異瓷胧,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)棚愤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,284評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門搓萧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人宛畦,你說我怎么就攤上這事瘸洛。” “怎么了刃永?”我有些...
    開封第一講書人閱讀 169,589評(píng)論 0 363
  • 文/不壞的土叔 我叫張陵货矮,是天一觀的道長。 經(jīng)常有香客問我斯够,道長囚玫,這世上最難降的妖魔是什么喧锦? 我笑而不...
    開封第一講書人閱讀 60,188評(píng)論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮抓督,結(jié)果婚禮上燃少,老公的妹妹穿的比我還像新娘。我一直安慰自己铃在,他們只是感情好阵具,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,185評(píng)論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著定铜,像睡著了一般阳液。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上揣炕,一...
    開封第一講書人閱讀 52,785評(píng)論 1 314
  • 那天帘皿,我揣著相機(jī)與錄音,去河邊找鬼畸陡。 笑死鹰溜,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的丁恭。 我是一名探鬼主播曹动,決...
    沈念sama閱讀 41,220評(píng)論 3 423
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼牲览!你這毒婦竟也來了墓陈?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,167評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤竭恬,失蹤者是張志新(化名)和其女友劉穎跛蛋,沒想到半個(gè)月后熬的,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體痊硕,經(jīng)...
    沈念sama閱讀 46,698評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,767評(píng)論 3 343
  • 正文 我和宋清朗相戀三年押框,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了岔绸。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,912評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡橡伞,死狀恐怖盒揉,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情兑徘,我是刑警寧澤刚盈,帶...
    沈念sama閱讀 36,572評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站挂脑,受9級(jí)特大地震影響藕漱,放射性物質(zhì)發(fā)生泄漏欲侮。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,254評(píng)論 3 336
  • 文/蒙蒙 一肋联、第九天 我趴在偏房一處隱蔽的房頂上張望威蕉。 院中可真熱鬧,春花似錦橄仍、人聲如沸韧涨。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,746評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽虑粥。三九已至,卻和暖如春宪哩,著一層夾襖步出監(jiān)牢的瞬間舀奶,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,859評(píng)論 1 274
  • 我被黑心中介騙來泰國打工斋射, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留育勺,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,359評(píng)論 3 379
  • 正文 我出身青樓罗岖,卻偏偏與公主長得像涧至,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子桑包,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,922評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容

  • 【威哥說】沒有接觸過程序的同學(xué)南蓬,感覺代碼距離我們很好遙遠(yuǎn),可是你真正的學(xué)會(huì)了編程之后哑了,你才知道赘方,其實(shí)程序可是實(shí)現(xiàn)所...
    磨礪營閱讀 411評(píng)論 0 0
  • Java經(jīng)典問題算法大全 /*【程序1】 題目:古典問題:有一對(duì)兔子,從出生后第3個(gè)月起每個(gè)月都生一對(duì)兔子弱左,小兔子...
    趙宇_阿特奇閱讀 1,878評(píng)論 0 2
  • 【程序1】 題目:古典問題:有一對(duì)兔子窄陡,從出生后第3個(gè)月起每個(gè)月都生一對(duì)兔子,小兔子長到第三個(gè)月后每個(gè)月又生一對(duì)兔...
    葉總韓閱讀 5,140評(píng)論 0 41
  • “老馮拆火,你說這怎么又能夠怪我掃興呢跳夭?” 在上班的時(shí)候,老林突然給我蹦出這么一句話來们镜。我打開微信繼續(xù)看下面的內(nèi)容币叹。她...
    一只貓蟬閱讀 334評(píng)論 2 2
  • 今天跟母親吵了一架,還看了《好人難尋》模狭,突然意識(shí)到屬于人的那種可笑颈抚。 我住在一個(gè)喜歡冷戰(zhàn)的家里,家里信奉著“破碎...
    樂觀騎士閱讀 199評(píng)論 0 3