每天一演算法(生命遊戲)

2021-06-11 21:14:11 字數 519 閱讀 9568

說明

生命遊戲(game of life)為2023年由英國數學家j. h. conway所提出,某一細胞的鄰居包括上、下、左、右、左上、左下、右上與右下相鄰之細胞,遊戲規則如下:

復活:如果某位置原無細胞存活,而該位置的鄰居為三個,則該位置將復活一細胞。解法

生命遊戲的規則可簡化為以下,並使用case比對即可使用程式實作:

鄰居個數為0、1、4、5、6、7、8時,則該細胞下次狀態為死亡。

鄰居個數為3時,則該細胞下次狀態為復活。

鄰居個數為2時,則該細胞下次狀態為穩定。

#define row 10

#define col 25

#define dead 0

#define alive 1

int map[row][col],newmap[row][col];

void init()

{ srand((unsigned int)time(null));

for (int i = 0;i=0)&&(i=0)&&(j

每天一演算法 約瑟夫問題

1.約瑟夫問題 問題描述 n個人 編號1 n 從1開始報數,報到m的退出,剩下的人繼續從1開始報數。按順序輸出列者編號。數學解法複雜度 o n 演算法一 數學解法 int main void return 0 演算法二 i 1 while ncounti i 1 nallcount 迴圈報數 whi...

每天一演算法 (氣泡排序)

一 原理 比較兩個相鄰的元素,將值大的元素交換至右端。二 思路 依次比較相鄰的兩個數,將小數放在前面,大數放在後面。即在第一趟 首先比較第1個和第2個數,將小數放前,大數放後。然後比較第2個數和第3個數,將小數放前,大數放後,如此繼續,直至比較最後兩個數,將小數放前,大數放後。重複第一趟步驟,直至全...

每天一演算法 (選擇排序)

一 原理 在要排序的一組數中,選出最小的乙個數與第乙個位置的數交換 然後在剩下的數當中再找最小的與第二個位置的數交換,如此迴圈到倒數第二個數和最後乙個數比較為止 二 思路 1.假設有乙個陣列為 n個數 第一趟先選出 最小的元素 min k 將min k 位置 和 第乙個元素的位置 互換,此時第乙個元...