这是一题数字逻辑的算法题:题目很简单,输入任意数字,打印如图效果。java 代码实现如下:
public class Test1 {
/*
* 1 0
* 2 1
* 3 4 2
* 5 6 7 8 3
* 9 10 11 12 13 14 15 16 4
*/
public static void main(String[] args) {
System.out.println();
Test1 t=new Test1();
t.printData(135);
}
//解法
public void printData(int n) {
int c=0;
for (int i = 1; i<= n; i++) {
if(i<=Math.pow(2, c)){
System.out.print(i+" ");
}else{
++c;
--i;
System.out.println();
}
}
}
}