可计算任意位水仙花数
复制代码代码如下:
public static void main(String[] args) {
интервал Макс = 10;
for (int len = 1; len <= max; len++) {
System.out.println(getNarc(len, ""));
}
}
статический StringBuffer strb = новый StringBuffer();
static String getNarc(int len, String start) {
for (int basenum = 1; basenum <= 9; basenum++) {
если (len == 2 || len == 1) {
StringBuffer tmpbuf = новый StringBuffer();
tmpbuf.append(начало);
for (int j = 0; j <len; j++) {
tmpbuf.append(базовое значение);
}
tmpbuf.append(новый StringBuffer(start).reverse().toString());
strb.append(tmpbuf);
strb.append("/n");
// System.out.println(tmpbuf);
} иначе, если (len > 2) {
Строка nextStr = "";
если (ноль != начало) {
следующаяStr = начало + базовое значение;
} еще {
nextStr = Integer.toString(basenum);
}
getNarc(len - 2, nextStr);
}
}
вернуть strb.toString();
}