循环Gray码的生成(递归)
2024-10-07 05:58:42
#!/usr/bin/env python
#coding:utf-8
import sys
def gray_code(num, array):
if num < 1:
return
if num == 1:
array.append('0')
array.append('1')
return
gray_code(num-1, array)
times = 2 ** (num-1)
len_ = len(array)
for i in xrange(times):
array.append('1' + array[len_-1-i])
for i in xrange(times):
array[i] = '0' + array[i]
if __name__ == "__main__":
if len(sys.argv) != 2:
print "Usage:./gray_code.py number"
sys.exit(1)
number = 0
try:
number = int(sys.argv[1])
except Exception, e:
print e.message
sys.exit(1)
codes = []
gray_code(number, codes)
print codes
最新文章
- 使用好压(HaoZip)软件打包EverEdit制作安装程序
- [ html canvas globalCompositeOperation ] canvas绘图属性 设置合成图像如何显示 属性演示
- java父类转子类的一个方法
- 移动设备和SharePoint 2013 - 第1部分:概述
- Web.config配置文件
- redhat的启动方式和执行次序
- 简单实现WPF界面控件换肤效果
- centos svn安装
- 怎么通过IE连接本机oracle数据库
- java常见错误云集与注意事项
- msi软件包无法安装
- Python标准库内置函数——hasattr
- mantis 中文统计报表乱码问题解决办法
- 工作需要稍微研究了一下Hyper-V
- extjs Proxy
- 常用 Linux 命令的基本使用
- vue 生产环境 background 背景图不显示原因
- 使用python和selenium写一个百度搜索的case
- 微信小程序--代码构成---WXSS 样式
- npm笔记