跑得是慢了点。。。
有没有大佬有更好的方法
class BigNum{ long []num = new long[21]; public BigNum(){ for(int i = 0; i < num.length; i++) { num[i] = 0; } } public boolean full() { for(int i = 0; i < num.length; i++) { if(num[i] != 9) { return false; } } return true; } public void plusOne() { int tag = 0; //从最后一位开始加,如果其9,将其变为0,另高一位加一, //如果高一位是9,其变为0,高一位加一一次类推直到全为9 //tag == 0说明从第0位开始 if(num[tag]!=9) { num[tag]++; return; }else { if(full()) return; //如果全为9则溢出 //关键算法。。进位操作 while(true) { num[tag]=0; tag++; if(num[tag] != 9) { num[tag]++; return; } } } } public void show() { for(int i = num.length-1; i >-1; i--) { System.out.print(num[i]); } System.out.println(); } } public class T1 { public static void main(String[] args) { // TODO Auto-generated method stub BigNum num = new BigNum(); //long []per = new long[21]; while(!num.full()) { num.plusOne(); num.show(); } } }