扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
public class ShuiXianShu
成都创新互联是专业的阳泉网站建设公司,阳泉接单;提供网站设计、成都做网站,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行阳泉网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
{
/**
* 题目:打印出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);
}
}
}
}
这个是我以前做过的,楼主可以参考
所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。代码如下
public class Shuixianhua {
/**
* 判断数字是否是水仙花数
* @Title: shuixianhua
* @param:@param x
* @param:@return
* @return:boolean
* @Description:
* @date 2017年11月2日 下午3:03:10
* @throws
*/
public boolean shuixianhua(int x)
{
int i=0,j=0,k=0;
i=x / 100;
j=(x % 100) /10;
k=x % 10;
if(x==i*i*i+j*j*j+k*k*k)
return true;
else
return false;
}
public static void main(String[] args) {
//存放所有水仙花数的集合
ListInteger sxhList=new ArrayListInteger();
Shuixianhua sxh=new Shuixianhua();
for(int i=1;i=1000;i++){
//判断是否是水仙花数,是则放入集合
if(sxh.shuixianhua(i)){
sxhList.add(i);
}
}
//打印所有水仙花数
System.out.println(sxhList.toString());
}
}
水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3 + 3^3 = 153)
什么是水仙花数
水仙花数只是自幂数的一种,严格来说三位数的3次幂数才成为水仙花数。
附:其他位数的自幂数名字
一位自幂数:独身数
两位自幂数:没有
三位自幂数:水仙花数
四位自幂数:四叶玫瑰数
五位自幂数:五角星数
六位自幂数:六合数
七位自幂数:北斗七星数
八位自幂数:八仙数
九位自幂数:九九重阳数
十位自幂数:十全十美数
统计水仙花数的个数的话可以使用一个变量来计数,循环判断如果这个数是水仙花数的话,就把这个数加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次幂之和等于它本身。
//水仙花数是指:一个三位数,其各位数字的立方和等于该数本身
//例如:153就是一个水仙花数。
//153 = 1*1*1 + 5*5*5 + 3*3*3 = 1 + 125 + 27 = 153
public class ShuiXianHuaShu {
public static void main(String[] args) {
int count = 0;
for (int i = 100; i 1000; i++) {
int ge = i % 10;
int shi = i / 10 % 10;
int bai = i / 100 % 10;
if (i == ge * ge * ge + shi * shi * shi + bai * bai * bai) {
System.out.println(i + "是水仙花数");
count++;
}
}
System.out.println("一共有" + count + "个水仙花数");
}
}
求水仙花数的Java程序如下
public class E {
public static void main(String[] args) {
System.out.println("水仙花数");
for(int i=100;i1000;i++){
int a=i/100;
int b=i/10%10;
int c=i%10;
if(i==a*a*a+b*b*b+c*c*c){
System.out.print(i+" ");
}
}
}
}
运行结果
水仙花数
153 370 371 407
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流