遞迴生成格雷碼
【程式】
#include <stdio.h>
int n;
char s[17]; //假設最大隻有16位
void dfs(int i)
{
if(i==n)
printf("%s\n",s); //到達底部就輸出
else
{
dfs(i+1); //深度優先搜尋
if(s[i]=='0')
s[i]='1';
else
s[i]='0'; //把當前位逆轉
dfs(i+1); //繼續向下搜尋
}
}
int main()
{
int i;
scanf("%d",&n);
for(i=0; i<17; i++)
s[i]='0';
s[n]='\0';
dfs(0);
printf("\n");
}
相關文章
- leetcode:遞迴:括號生成LeetCode遞迴
- 函式遞迴與生成式函式遞迴
- LeetCode-089-格雷編碼LeetCode
- LeetCode 89. 格雷編碼LeetCode
- 快速排序(遞迴及非遞迴演算法原始碼)排序遞迴演算法原始碼
- LeetCode - 22. 括號的生成(遞迴)1LeetCode遞迴
- 遞迴和尾遞迴遞迴
- 快速排序【遞迴】【非遞迴】排序遞迴
- 遞迴遞迴
- 遍歷二叉樹的遞迴與非遞迴程式碼實現二叉樹遞迴
- P5657 [CSP-S2019] 格雷碼
- Day 13 迭代器 三元表示式 列表生成式 字典生成式 生成器 遞迴遞迴
- 記一次通過 Resource 遞迴生成樹的方案遞迴
- 10個SQL技巧之二:使用遞迴SQL生成資料SQL遞迴
- 什麼是遞迴?遞迴和迴圈的異同遞迴
- go 遞迴Go遞迴
- JavaScript遞迴JavaScript遞迴
- 理解遞迴遞迴
- 分而治之-遞迴遞迴
- 遍歷二叉樹-------遞迴&非遞迴二叉樹遞迴
- 五大演算法程式碼模板(DFS 遞迴非遞迴都算上,是六個)演算法遞迴
- 遞迴、三元表示式、生成式(列表,字典)、匿名函式遞迴函式
- golang 遞迴自己,輸出自己的原始碼Golang遞迴原始碼
- 遞迴顯示字型交換程式碼片段遞迴
- 遞迴和遞推總結遞迴
- 迭代與遞迴--你被遞迴搞暈過嗎?遞迴
- 演算法小專欄:遞迴與尾遞迴演算法遞迴
- 遞迴呼叫 VS 迴圈呼叫遞迴
- 遞迴總結遞迴
- SQL 遞迴思想SQL遞迴
- 遞迴函式遞迴函式
- 談談遞迴遞迴
- 遞迴問題遞迴
- 遞迴加回溯遞迴
- 遞迴-*快速排序遞迴排序
- 遞迴小記遞迴
- 理解遞迴 Recurtion遞迴
- C#遞迴C#遞迴