五月天青色头像情侣网名,国产亚洲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ù)目)的評論 (共 條)

分享到微博請遵守國家法律
建宁县| 大埔区| 响水县| 蓬莱市| 信丰县| 宝清县| 鄂尔多斯市| 东阳市| 龙山县| 兴仁县| 阿克陶县| 呼和浩特市| 唐河县| 青阳县| 湖口县| 巴塘县| 孟州市| 新巴尔虎左旗| 古浪县| 陆河县| 潜山县| 陆川县| 大化| 嘉祥县| 保靖县| 太和县| 泗阳县| 来安县| 濮阳市| 广宁县| 呼伦贝尔市| 怀集县| 琼海市| 五台县| 始兴县| 滨海县| 毕节市| 青龙| 徐州市| 楚雄市| 长子县|