最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

編程每日刷題系列四(煤球數(shù)目)

2021-02-10 23:33 作者:Eric_Richard  | 我要投稿

煤球數(shù)目

有一堆煤球,堆成三角棱錐形。具體:

第一層放1個(gè),

第二層3個(gè)(排列成三角形),

第三層6個(gè)(排列成三角形),

第四層10個(gè)(排列成三角形),

....

如果一共有100層,共有多少個(gè)煤球?


請?zhí)畋硎久呵蚩倲?shù)目的數(shù)字。

注意:你提交的應(yīng)該是一個(gè)整數(shù),不要填寫任何多余的內(nèi)容或說明性文字。

思路

很明顯,第2個(gè)三角形的煤球數(shù)目比前面第1個(gè)三角形的差2個(gè);第3個(gè)三角形的煤球數(shù)目比前面第2個(gè)三角形的差3個(gè);依此類推,我們可以發(fā)現(xiàn)規(guī)律,f(n) = f(n - 1) + n,因此我們可以用遞歸來做這個(gè)題

還有一點(diǎn)要特別注意,題目問的是100層總煤球數(shù)目,而不是第100層的煤球數(shù)目,所以一定要審清題干!

法一(遞歸法):

(由于B站的編輯器bug還未解決,所以如果把代碼寫到代碼塊里會(huì)顯示不出完整的代碼,就像這樣)

C++代碼:

所以大家將就一下吧,下面的就是正常顯示的代碼了

#include<iostream>

using namespace std;


int func(int m)

{

if(m == 1)

return 1;

else

return func(m - 1) + m;

}


int main()

{

int n = 100;

int sum = 0;

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

{

sum += func(i);

}

cout << sum << endl;

return 0;

}

運(yùn)行結(jié)果:

因此答案就是171700

C代碼:

#include<stdio.h>


int f(int n)

{

if(n == 1)

return 1;

else if(n > 1)

return f(n - 1) + n;


}


int main()

{

int i, flo, sum = 0;

scanf("%d",&i);

for(flo = 1; flo <= i; flo++)

sum += f(flo);

printf("%d\n", sum);

return 0;

}

法二:(直接法)

既然我們已經(jīng)發(fā)現(xiàn)了規(guī)律,那就干脆直接求

C代碼:

#include<stdio.h>


int main()

{

int sum = 0, i, tmp = 0;

for(i = 1; i <= 100; i++)

{

tmp += i;

sum += tmp;

}

printf("%d\n", sum);

return 0;

}

對應(yīng)的C++代碼就懶得寫了

之后我會(huì)持續(xù)更新,如果喜歡我的文章,請記得一鍵三連哦,點(diǎn)贊關(guān)注收藏,你的每一個(gè)贊每一份關(guān)注每一次收藏都將是我前進(jìn)路上的無限動(dòng)力 ?。?!↖(▔▽▔)↗感謝支持!




編程每日刷題系列四(煤球數(shù)目)的評論 (共 條)

分享到微博請遵守國家法律
伊川县| 金华市| 太白县| 甘谷县| 扶余县| 治县。| 甘孜县| 两当县| 花垣县| 井研县| 马龙县| 民乐县| 耿马| 固阳县| 黔江区| 大邑县| 灵台县| 武邑县| 赤城县| 邮箱| 基隆市| 元氏县| 卢龙县| 明水县| 高邑县| 建始县| 汕尾市| 隆昌县| 和顺县| 泸西县| 从江县| 印江| 夹江县| 特克斯县| 巴东县| 清徐县| 湘潭市| 军事| 乌拉特后旗| 留坝县| 文安县|