**
Java··求水仙花数
**
【程序 3】
-
题目:打印出n位的 "水仙花数 ",所谓 "水仙花数 "是指一个n位数,其各位数字的n次方和
-
等于该数本身。例如:153 是一个 "水仙花数 ",因为 153=1 的三次方+5 的三次方+3 的
-
三次方。n由输入控制
本文仅供参考。希望对你有所帮助,如有错误,欢迎指出。(源码注释已经足够详细,如实在有不明白的, 可联系我:qq:2530318393,或者留言,另外:写作不易,转载请声明所属~~~~~~~~)
程序源码:
import java.util.Arrays;
import java.util.Scanner;
/**
* @program: Daffodil number(水仙花数)
* @description: 水仙花数实验程序入口
* @author: Mr.XiaoShi
* @create: 2020-08-28 10:26
**/
/*【程序 3】
* 题目:打印出n位的 "水仙花数 ",所谓 "水仙花数 "是指一个n位数,其各位数字的n次方和
* 等于该数本身。例如:153 是一个 "水仙花数 ",因为 153=1 的三次方+5 的三次方+3 的
* 三次方。n由输入控制
*/
/**实验效果:能求小于25(不包含25)个水仙花数的输出,以及小于8位(不包含8位的水仙花数输出),因为选的int类型数据
* 数值范围有限。而我对水仙花数的判断只到1000000,也可以改变范围,但是这个主要通过循环的方式来判断,做实验就没必要
* 搞太大,就现在差不多也要等个几十秒他才能算出来。这个水仙花数没多少规律,所以也不知道另外还有些什么办法。
* **/
public class Program {
public static void main(String[] args) {
System.out.print("输入一个n,(输出n个水仙花数):"); //提示用户输入
/*根据函数间的形参类型与返回值类型,采用链式编程一步到位*/
puts_ints(getDaffodilNumbers(new Scanner(System.in).nextInt()));
System.out.print("\n输入一个n,(输出所有的n位水仙花数):");
puts_ints(get_n_DaffodilNumbers(new