水仙花数java代码解析 水仙花数JAVA

求水仙花数的java程序代码

public class Daffodil {

10年积累的网站建设、成都网站制作经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有子长免费网站建设让你可以放心的选择与我们合作。

/**

*

* @param

* @return void

* @param args

* desc

*/

public static void main(String[] args) {

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

int a = n / 100;

int b = (n % 100) / 10;

int c = n % 10;

if(Math.pow(a, 3)+Math.pow(b,3)+Math.pow(c,3)==n){

System.out.println(n);

}

}

}

}

菜鸟课堂:教你如何在Java里实现水仙花数

今天偶然发现这个,分享给大伙。在Java里也实现,希望对初学者有所帮助。 以下是代码内容: package shuixianhuashu; /** *运算规则: *水仙花数是三位数,它的个、十、百位数字的立方的和等于该数本身, *例如:371=27+343+1 *求出所有水仙花数(分别用for,while循环实现) * @author S10 * */ public class ShuiXianHuaShu { public static void main(String[] args) { int count = 0; for(int i = 100; i 1000; i ++){ if(getCount(i)){ System.out.println(i + "是水仙花数....."); count++; } } //上下两个循环的效果是一样的 int i = 100; while(i 999){ i++; if(getCount(i)){ System.out.println(i + "是水仙花数===="); count++; } } System.out.println("共有" + count + "个水仙花数!"); } //得到一个数的立方的值 public static int getLifang(int i){ return i * i * i ; } public static boolean getCount(int i){ int a = i / 100; //取出百位的的数字 int temp = i % 100; int b = temp / 10; //取出十位的数字 int c = temp % 10; //取出各位的数字 if(getLifang(a) + getLifang(b) + getLifang(c) == i){ return true; }else{ return false; } } } (责任编辑:董建伟)

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

按一下代码执行:

public class woo {

public static void main(String args[]) {

System.out.println("100-1000中的水仙花数有:");

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

int single  = i%10;

int ten = i/10%10;

int hundred = i/10/10%10;

//水仙花数判断要求

if(i == (single*single*single+ten*ten*ten+hundred*hundred*hundred)){

System.out.println(i);

}

}

}

}

扩展资料:

水仙花数只是自幂数的一种,严格来说3位数的3次幂数才称为水仙花数。

一位自幂数:独身数

两位自幂数:没有

三位自幂数:水仙花数

四位自幂数:四叶玫瑰数

五位自幂数:五角星数

六位自幂数:六合数

七位自幂数:北斗七星数

八位自幂数:八仙数

九位自幂数:九九重阳数

十位自幂数:十全十美数

参考资料:

水仙花数——百度百科

java中求解水仙花数的算法思想是什么?

水仙花数是指一个

n

位数

(

n≥3

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

n

次幂之和等于它本身。

从上面的定义可以看出,只要将给出的数字各个位数的数字分解出来,然后把个数字的3次方相加与原数相比是否相等即可判断出是否为水仙花数,给你一段源码,是求100~1000内的水仙花数,有注释,希望对你有帮助:

public

class

Wflower

{

public

static

void

main(String[]

args)

{

int

a=0,b=0,c=0;

System.out.println("水仙花数是:");

for

(int

i

=

100;

i

1000;

i++)

//遍历所有3位数

{

a

=

i/100;

//获取3位数中百位的数

b=i%100/10;

//获取3位数中十位的数

c=i%100%10;

//获取3位数中个位的数

a

=

a

*

a

*

a;

//计算第一位数的立方

b

=

b

*

b

*

b;

//计算第二位数的立方

c

=

c

*

c

*

c;

//计算第3位数的立方

if

((a

+

b

+

c)

==

i)

//如果符合水仙花数

System.out.print("

"+i);

}

}

}

java编程学习水仙花数问题?

你的程序主要是每个数前,sum变量没有置0

改正后的水仙花数的Java程序如下(改动的地方见注释)

public class a99{

public static void main(String[] arge){

int sum=0,t=0;

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

t=i;

sum=0;//这里加一句,每个数字都要初始化sum=0

while(t!=0){

sum += ((t%10)*(t%10)*(t%10));

t /= 10;

}

if(sum==i)

System.out.println(i+"是水仙花数");//这里printf改成println

}

}//这里加大括号

}//这里加大括号

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代码解析 水仙花数JAVA
标题路径:http://myzitong.com/article/hehohi.html