public class ThrowDemo02{
public static void main(String[] args) {
String[] strArr = GrayCode(3);//产生8位的格雷码
for(int i = 0 ; i < strArr.length ; i++){
System.out.println(strArr[i]);
}
}
public static String[] GrayCode(int n) {
String[] grayCodeArr = new String[(int)Math.pow(2, n)];
if(n < 1){
System.out.println("你输入的格雷码位数有误!");
}
if(1 == n){
grayCodeArr[0] = "0";
grayCodeArr[1] = "1";
return grayCodeArr;
}
String[] before = GrayCode(n-1); //递归调用
for(int i = 0 ; i < before.length ; i++){
grayCodeArr[i] = "0" + before[i];
grayCodeArr[grayCodeArr.length -1 - i] = "1" + before[i];
}
return grayCodeArr;
}
}
用递归方法产生格雷码;
最新推荐文章于 2021-02-17 02:47:22 发布