您当前的位置:首页 > 互联网教程

Java 编程找出所有的水仙花数(水仙花数)。

发布时间:2025-05-24 23:02:47    发布人:远客网络

Java 编程找出所有的水仙花数(水仙花数)。

一、Java 编程找出所有的水仙花数(水仙花数)。

public static void main(String[] args){

首先水仙花数”是指一个三位数,其各位数字立方和等于该数,

如:153是一个“水仙花数”,因为1的三次方+5的三次方+3的三次方等于153

解此题的关键是怎能样从一个三位数中分离百位数、十位数、个位数。可以这样做,设该三位数以i代表,由a,b,c三个数字组成。

(2)十位数字b:b=int((i-100*a)/10)

(3)个位数字c:c=i-int(i/10)*10.

水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一个 3位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1^3+ 5^3+ 3^3= 153)。

二、用Java写个关于“水仙花数”的程序

1、public static void main(String[] args){

2、for(int i= 100; i<1000; i++){

3、int BaiNum= i/100;//分解出百位

4、int ShiNum= i/10%10;//分解出十位

5、//判断是否为水仙花数,即百位的三次方+十位的三次方+个位的三次方=数字本身

6、if(BaiNum*BaiNum*BaiNum+ ShiNum*ShiNum*ShiNum+GeNum*GeNum*GeNum== i){

7、System.out.println(i+"为水仙花数");

8、严格意义上来说,只有三位数才能被称为水仙花数,但其他位数的数同样也有符合水仙花数规则的,这些数有其他别称,如:

9、三位自幂数:水仙花数如:153,370,371,407;

10、四位自幂数:四叶玫瑰数如:1634,8208,9474;

11、五位自幂数:五角星数如:54748,92727,93084;

12、六位自幂数:六合数如:548834;

13、七位自幂数:北斗七星数如:1741725,4210818,9800817,9926315;

14、八位自幂数:八仙数如:24678050,24678051,88593477;

15、九位自幂数:九九重阳数如:146511208,472335975,534494836,912985153;

16、十位自幂数:十全十美数如:4679307774;

三、谁能用java给我编一个求1000以内的水仙花数的程序呢

1、水仙花数是指一个三位数,其个位、十位、百位上的数字的立方和等于该数本身。例如153是一个水仙花数,因为1的立方是1,5的立方是125,3的立方是27,1+125+27等于153。下面是一个简单的Java程序,用于求1000以内所有的水仙花数。

2、该程序使用了一个for循环,从100开始遍历到999。对于每一个数,首先将其分解为百位、十位和个位。然后计算这三个数字的立方和,最后判断这个和是否等于原来的数。如果相等,就输出这个数。

3、public static void main(String[] args){

4、for(int n= 100; n< 1000; n++){

5、int j=(n- i* 100)/ 10;//十位数

6、int k= n- i* 100- j* 10;//个位数

7、if(n== i* i* i+ j* j* j+ k* k* k){

8、这些数就是1000以内所有的水仙花数。

9、这个程序的运行效率和代码简洁性在满足功能要求的前提下已经得到了很好的平衡。对于初学者来说,这是一个很好的练习,可以帮助理解Java的基本语法和算法的基本思想。