首页 > 编程知识 正文

java水仙花数123的简单介绍

时间:2023-12-27 22:27:54 阅读:326937 作者:XTEH

本文目录一览:

java水仙花数

public class ShuiXianShu

{

/**

* 题目:打印出100-999之间所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。

* 例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。

* 1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。*

*/

public static void main(String[] args)

{

for(int i=100;i=999;i++)

{

int geWei,shiWei,baiWei;

baiWei=i/100;

shiWei=(i-baiWei*100)/10;

geWei=i-baiWei*100-shiWei*10;

if(i==geWei*geWei*geWei+shiWei*shiWei*shiWei+baiWei*baiWei*baiWei)

{

System.out.println(i);

}

}

}

}

这个是我以前做过的,楼主可以参考

怎么用java打印出水仙花数

public

class

ShuiXianHua{

public

static

void

main(String[]

args){

/**

题目:打印水仙花数

含义:水仙花数是指一个

n

位数

(

n≥3

),它的每个位上的数字的

n

次幂之和等于它本身(例如:1^3

+

5^3+

3^3

=

153)

思路:求出每位数字,比如一个3位数(求出个、十、百位上的数),满足上面的条件,即是水仙花数

*/

int

a,b,c;

System.out.println("三位数中所有的水仙花数为:");

for(int

n

=

100;n

=

999;n++){

a

=

n

/100;

//获取百位数字

b

=

n

%

100

/10;

//获取十位数字

c

=

n

%10;

//获取个位数字

if(a*a*a

+

b*b*b

+

c*c*c

==

n){

System.out.println(n);

}

}

}

}

java求水仙花数

分析:水仙花数是指:一个三位数,其各位数字立方和等于该数本身。例如:370=33+73+00.这就说明370是一个水仙花数。

所以要判断一个三位数是不是水仙花数,得先取得这个三位数的的个位,十位和百位。

1:先取得他的百位:int BaiWei = x/100; 因为int是整形,所以不会进行四舍五入,也不会管小数点后面的数。

再取得十位:int ShiWei = (x-BaiWei*100)/10;先用这个数减去百位数*100,再除以10,原因同上。

最后取得个位数:int GeWei = x-BaiWei*100-ShiWei*10.很明显,就能得到个位数。

2:

intb = x/100;

int s = x/100%10;

int g = x%10;

求立方的方法:

1,x = Baiwei*Baiwei*Baiwei+ShiWei*ShiWei*ShiWei+GeWei*GeWei*GeWei

2,Java提供求n次方的方法:java.lang.Math.pow(a, b);其表示为a的b次方。

最后程序:

第一种:

public class ShuiXianHuaShu {

public static void main(String[] args) {

int x = 0; //定义水仙花数的个数

for(int i=100;i=999;i++){

int b = i/100; //取得百位数

int s = (i-100*b)/10; //取得十位数

int g = (i-s*10-b*100); //取得个位数

if(i==g*g*g+s*s*s+b*b*b){

x++; //每次符合水仙花数条件,则x+1;

System.out.print(i+" "); //输出符合条件的数

}

}System.out.println(); //换行

System.out.println("水仙花数总共有"+x+"个"); //输出水仙花数的总数

}

}

第二种:

public class ShuiXianHuaShu {

public static void main(String[] args) {

int x = 0; //定义水仙花数的个数

for(int i=100;i=999;i++){

int b = i/100; //取得百位数

int s = i%100/10; //取得十位数

int g = i%10; //取得个位数

if(i==Math.pow(b, 3) + Math.pow(s, 3) + Math.pow(g, 3)){

x++; //每次符合水仙花数条件,则x+1;

System.out.print(i+" "); //输出符合条件的数

}

}System.out.println(); //换行

System.out.println("水仙花数总共有"+x+"个"); //输出水仙花数的总数

}

}

java求水仙花数,怎么样统计水仙花数的个数啊?

统计水仙花数的个数的话可以使用一个变量来计数,循环判断如果这个数是水仙花数的话,就把这个数加1。

具体示例代码如下:

publicclassDemo1{

publicstaticvoidmain(String[]args){

System.out.println(\"100~999之间的水仙花数是:\");

intcount=0;

for(intcustNo=100;custNolt;=999;custNo++){

intgeWei=custNo%10;

intshiWei=custNo/10%10;

intbaiWei=custNo/100%10;

if(custNo==geWei*geWei*geWei+shiWei*shiWei*shiWei+baiWei*baiWei*baiWei){

count++;

System.out.println(custNo);

}

}

System.out.println(\"个数:\"+count);

}

}

接下来介绍下什么是水仙花数:

水仙花数是指一个n位数(n≥3),它的每个位上的数字的n次幂之和等于它本身。

如何用JAVA求100--1000以内的水仙花数

public class xx4 {

public static void main(String[] args) {

int i=0,g,s,b;

int score;

for(i=100;i=1000;i++){

g=i%10;

s=i%100/10;

b=i%1000/100;

score=g*g*g+s*s*s+b*b*b;

if(i==score){

System.out.println(score);

}

}

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

代码如下:

package com.vo;

public class Shuixianhua {

public static void main(String[] args) {

int a=0;

int b=0;

int c=0;

for(int i=100;i999;i++)

{

a=i/100;

b=i/10%10;

c=i%10;

if(i==(a*a*a+b*b*b+c*c*c))

System.out.println(i);

}

}

}

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

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

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

(1)百位数字a:a=int(i/100).

(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)。

参考资料:水仙花数百度百科

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。