可计算任意位水仙花数
复制代码代码如下:
público estático vacío principal (String [] argumentos) {
int máx = 10;
para (int len = 1; len <= máx; len++) {
System.out.println(getNarc(len, ""));
}
}
StringBuffer estático strb = nuevo StringBuffer();
cadena estática getNarc (int len, inicio de cadena) {
para (int basenum = 1; basenum <= 9; basenum++) {
si (len == 2 || len == 1) {
StringBuffer tmpbuf = nuevo StringBuffer();
tmpbuf.append(inicio);
para (int j = 0; j < len; j++) {
tmpbuf.append(basenum);
}
tmpbuf.append(new StringBuffer(start).reverse().toString());
strb.append(tmpbuf);
strb.append("/n");
// System.out.println(tmpbuf);
} si no (len > 2) {
Cadena nextStr = "";
si (nulo! = inicio) {
nextStr = inicio + basenum;
} demás {
nextStr = Integer.toString(basenum);
}
getNarc(len - 2, nextStr);
}
}
devolver strb.toString();
}