Gray code 的学习
来源:互联网 发布:单片机串行通信 编辑:程序博客网 时间:2024/05/20 15:39
#include<stdio.h>
#include<stdlib.h>
main()
{ int m,n,i,j,b,p,bound;
int gr[14]; //输入n,m并判断m是否合法
bound=1;
printf("Please input two number:n,m\n");
scanf("%d,%d",&n,&m);
for(i=1;i<=n;i++)
bound*=2;
if(m<0||m>=bound)
{printf("Data error!");
exit(0); //跳转到系统
} //加if语句的原因是长度为5的二进制数能表示的最大十进制数是2^5=32.
b=1;
for(i=0;i<n;i++) //该for语句显示了gray code的核心思想
{p=0;
b*=2;
for(j=0;j<=m;j++)
{ if(j%b-b/2==0)
p=1-p;
}
gr[i]=p;
}
printf("m=");
for(i=n-1;i>=0;i--)
{
printf("%d",gr[i]);
}
printf("\n");
//C++运行结果不显示一闪而过的解决方案
system("pause");
return 0; //跳转到函数
}
- Gray code 的学习
- 算法学习 - Gray Code(格雷码)的解释和c++实现
- 格雷码(Gray Code)的生成
- Gray Code
- Gray Code
- gray code
- Gray Code
- Gray Code
- Gray Code
- Gray Code
- Gray Code
- Gray Code
- Gray Code
- Gray Code
- Gray Code
- Gray Code
- Gray Code
- Gray Code
- android正则表达式及Pattern Matcher使用
- 20130830可注册域名列表(汇总)
- android自定义视图属性(atts.xml,TypedArray)学习
- Ubuntu下配置tftp服务和NFS服务
- 匈牙利算法原理讲解
- Gray code 的学习
- HDU 1083 Courses( 匈牙利算法 )
- AppDelegate
- linux守护进程编写步骤
- UVa 10881 Piotr's Ants (等价转化思想)
- 判断文件结束的三种方法(经典)
- MySQL启动方式
- C++ primer 学习记录:面对对象编程之构造函数和复制控制
- Linux下定时器的使用及实现秒以下精确定时与休眠