五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(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ù)目)的評論 (共 條)

分享到微博請遵守國家法律
东城区| 绵阳市| 新宁县| 喀喇| 峨眉山市| 宜川县| 怀来县| 邵东县| 佛教| 泽库县| 闵行区| 竹溪县| 九江县| 三穗县| 思茅市| 田林县| 丰镇市| 平和县| 伊春市| 肇源县| 桃园市| 怀安县| 湘阴县| 错那县| 巴塘县| 开封市| 安西县| 鱼台县| 垣曲县| 城固县| 若尔盖县| 化隆| 平果县| 凌海市| 六枝特区| 东宁县| 穆棱市| 临江市| 汝州市| 两当县| 牡丹江市|