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

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

C++經(jīng)典算法問題:馮諾依曼鄰居問題丨兩種解法(內(nèi)含源碼示例)

2021-10-06 17:00 作者:C語(yǔ)言編程__Plus  | 我要投稿



問題說(shuō)明

某算法從一個(gè)1×1的方格開始,每次都會(huì)在上次圖形的周圍再加上一圈方格,在第n次的時(shí)候要生成多少個(gè)方格?下圖給出了n = 0,1,2是的結(jié)果。


解法一:本程序使用通項(xiàng)公式求解

代碼簡(jiǎn)述

若設(shè)第n次生成的方格數(shù)是a(n),則:

a(1) = a(0) + 4 * 1 a(2) = a(1) + 4 * 2 a(3) = a(2) + 4 * 3 ... a(n) = a(n-1) + 4 * n

化簡(jiǎn)可得:

a(n) - a(1) = 4 * (n + (n-1) + ... + 2 )

即:

a(n) = 2 * n*n + 2 * n + 1

則可得出a(n)的通項(xiàng)公式,即可用通項(xiàng)公式直接求解。

在程序中用Neumann2_3_12函數(shù)返回a(n)的值。

源碼分享



解法二:本程序使用遞推關(guān)系求解?

代碼簡(jiǎn)述

若設(shè)第n次生成的方格數(shù)是a(n),則:

a(1) = a(0) + 4 * 1 a(2) = a(1) + 4 * 2 a(3) = a(2) + 4 * 3 ... a(n) = a(n-1) + 4 * n

則可得:

a(n) = a(n - 1) + 4 * n

然后在代碼中使用遞歸法,遞歸結(jié)束條件為n = 0,即

if (n == 0) return 1;

則可寫出遞歸法的代碼。

在程序中用Neumann2_4_12函數(shù)進(jìn)行遞歸求解。

源碼分享


今天的分享就到這里了,大家要好好學(xué)C++喲~

寫在最后:對(duì)于準(zhǔn)備學(xué)習(xí)C/C++編程的小伙伴,如果你想更好的提升你的編程核心能力(內(nèi)功)不妨從現(xiàn)在開始!

微信公眾號(hào):C語(yǔ)言編程學(xué)習(xí)基地

整理分享(多年學(xué)習(xí)的源碼、項(xiàng)目實(shí)戰(zhàn)視頻、項(xiàng)目筆記,基礎(chǔ)入門教程)

歡迎轉(zhuǎn)行和學(xué)習(xí)編程的伙伴,利用更多的資料學(xué)習(xí)成長(zhǎng)比自己琢磨更快哦!



C++經(jīng)典算法問題:馮諾依曼鄰居問題丨兩種解法(內(nèi)含源碼示例)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
宁晋县| 长泰县| 都兰县| 绥滨县| 和平区| 娄底市| 临海市| 南城县| 仁布县| 额尔古纳市| 临沭县| 钟山县| 鄂伦春自治旗| 克拉玛依市| 行唐县| 郓城县| 泾阳县| 永春县| 汽车| 敖汉旗| 康保县| 错那县| 安庆市| 定安县| 邵阳县| 德江县| 普定县| 潞西市| 阿克陶县| 霸州市| 长顺县| 建湖县| 改则县| 宝应县| 潞西市| 香港 | 博客| 炎陵县| 福贡县| 洪洞县| 和平区|