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

【威哥說】沒有接觸過程序的同學(xué),感覺代碼距離我們很好遙遠(yuǎn)嗡贺,可是你真正的學(xué)會了編程之后鞍帝,你才知道帕涌,其實(shí)程序可是實(shí)現(xiàn)所有的事物。本篇文章就是波波老師針對一個學(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)魁袜。首先我們看一下效果圖:

如上圖所示峰弹,這里我們從控制臺輸入要顯示的行數(shù)鞠呈,然后來具體的進(jìn)行顯示师幕。

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

第n行的第一個數(shù)為1疼鸟,第二個數(shù)為1x(n-1)空镜,第三個數(shù)為1x(n-1)x(n-2)/2,第四個數(shù)為1x(n-1)x(n-2)/2x(n-3)/3…依次類推张抄。

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

首先看到這么一個圖形轻猖,首先第一反應(yīng)嵌套循環(huán)是跑不掉的域那,如果沒有第一時間對嵌套

循環(huán)產(chǎn)生想法,那么證明你三角形還是畫少了王带。檐束。。盟戏;

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

Scanner input = new Scanner(System.in);

int n = input.nextInt();

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

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

//由上面的布局來看柿究,前面是要輸出一個倒三角的空格形狀的蝇摸,那么此處我們用空格給代替

//由于倒三角是上面多下面少办陷,呈遞減趨勢民镜,所以我們初始位置為n,判斷條件為j>=i们童,趨勢為遞減慧库,就能得到一個遞減的趨勢了馋嗜。

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

//這里輸出空格

System.out.print(" ?");

}

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

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

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

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

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

… …

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

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

int sum = 1;

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

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

//上圖可以看出很明顯每行第一個都是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();

}

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市项滑,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌宋渔,老刑警劉巖皇拣,帶你破解...
    沈念sama閱讀 211,743評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異吩坝,居然都是意外死亡钉寝,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來鸠蚪,“玉大人茅信,你說我怎么就攤上這事汹押∨锛郑” “怎么了妙痹?”我有些...
    開封第一講書人閱讀 157,285評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長耿芹。 經(jīng)常有香客問我吧秕,道長砸彬,這世上最難降的妖魔是什么砂碉? 我笑而不...
    開封第一講書人閱讀 56,485評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮沪铭,結(jié)果婚禮上杀怠,老公的妹妹穿的比我還像新娘赔退。我一直安慰自己窗骑,他們只是感情好创译,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,581評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著立砸,像睡著了一般颗祝。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上温峭,一...
    開封第一講書人閱讀 49,821評論 1 290
  • 那天堕伪,我揣著相機(jī)與錄音欠雌,去河邊找鬼。 笑死幕袱,一個胖子當(dāng)著我的面吹牛悠瞬,可吹牛的內(nèi)容都是我干的们豌。 我是一名探鬼主播,決...
    沈念sama閱讀 38,960評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼浅妆,長吁一口氣:“原來是場噩夢啊……” “哼望迎!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起凌外,我...
    開封第一講書人閱讀 37,719評論 0 266
  • 序言:老撾萬榮一對情侶失蹤辩尊,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后康辑,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體摄欲,經(jīng)...
    沈念sama閱讀 44,186評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,516評論 2 327
  • 正文 我和宋清朗相戀三年晾捏,在試婚紗的時候發(fā)現(xiàn)自己被綠了蒿涎。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,650評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡惦辛,死狀恐怖劳秋,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情胖齐,我是刑警寧澤玻淑,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站呀伙,受9級特大地震影響补履,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜剿另,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,936評論 3 313
  • 文/蒙蒙 一箫锤、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧雨女,春花似錦谚攒、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至讼稚,卻和暖如春括儒,著一層夾襖步出監(jiān)牢的瞬間绕沈,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評論 1 266
  • 我被黑心中介騙來泰國打工帮寻, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留乍狐,地道東北人。 一個月前我還...
    沈念sama閱讀 46,370評論 2 360
  • 正文 我出身青樓规婆,卻偏偏與公主長得像澜躺,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子抒蚜,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,527評論 2 349

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