package java1; import java.util.*; public class Java1 { public static void main(String[] args) { System.out.println("请输入一个正整数:"); Scanner input = new Scanner(System.in); int n = input.nextInt(); String[] getReturn = gray(n); System.out.println("格雷码为:"); for(int i=0;i<Math.pow(2, n);i++){ if(i%5==0){ System.out.println(); } System.out.print(getReturn[i]+" "); } } public static String[] gray(int n){ // produce 2^n grade codes String[] graycode = new String[(int) Math.pow(2, n)]; if (n == 1) { graycode[0] = "0"; graycode[1] = "1"; return graycode; } String[] last = gray(n - 1); for (int i = 0; i < last.length; i++) { graycode[i] = "0" + last[i]; graycode[graycode.length - 1 - i] = "1" + last[i]; } return graycode; } }