#include <math.h>
#include <iostream.h>
double derive(int n,double i)
{
if(n==1&&i==1)
return 0;
else if(n==1&&i==2)
return 1;
else if (i> pow(2,n-1))
return derive(n-1,pow(2,n)-i+1)+pow(2,n-1);
else
return derive(n-1,i);
}
void convert(int n,double i)
{
int left;
for (int time=1;time <n+1;time++)
{
left=i-((int)(i/2))*2;
i=(int)(i/2);
cout < <left;
}
cout < <endl;
}
int main()
{
int n;
cout < <"输入一个整数(格雷码的位数)" < <endl;
cin> > n;
double i;
for (i=1;i <
pow(2,n)+1;i++)
{
convert (n,derive(n,i));
}
return 0;
}
谁可以把它用java表示的
请你们会的一定要帮帮忙
我语言什么都不懂的