代码如下:
超过10余年行业经验,技术领先,服务至上的经营模式,全靠网络和口碑获得客户,为自己降低成本,也就是为客户降低成本。到目前业务范围包括了:成都做网站、成都网站建设,成都网站推广,成都网站优化,整体网络托管,成都小程序开发,微信开发,成都App定制开发,同时也可以让客户的网站和网络营销和我们一样获得订单和生意!
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)。
参考资料:水仙花数百度百科
按一下代码执行:
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次幂数才称为水仙花数。
一位自幂数:独身数
两位自幂数:没有
三位自幂数:水仙花数
四位自幂数:四叶玫瑰数
五位自幂数:五角星数
六位自幂数:六合数
七位自幂数:北斗七星数
八位自幂数:八仙数
九位自幂数:九九重阳数
十位自幂数:十全十美数
参考资料:
水仙花数——百度百科
public void isNumber(int num)
{
String numm=""+ num;//首先把你输入的整型数转换成字符类型
int len=numm.length();//得到你输入的数的个数(你要判断的数是三位数、四位数、、、)
int [] nums=new int [len];//声明一个数组来保存输入的这个数分别拆分后的单个值,如153 (1、5、3)
int temp=0,i=0;
while(num10)//用循环分别把这个位的每个位上的值保存在数组中
{
nums[i] = num % 10;
String nu=numm.substring(0, (numm.length()-(i+1)));
num =Integer.parseInt(nu);
i++;
if(num10)
{
nums[i]=num;
break;
}
}
for (int j = 0; j nums.length;j++)
{//用循环得到数组中无素的值累加
temp += (int) Math.pow(nums[j], nums.length);
}
num=Integer.parseInt(numm);
if(temp==num)//判断累加后的结果是否与输入的值一致
{
( System.err.println(num+"是水仙花数!"); }
else
{
System.err.println(num+"不是水仙花数!"); }
}
public static void main(String [] args)
{
Scanner input =new Scanner(System.in);
System.out.println("请输入一个数字:");
int num = input.nextInt();
isNumber(num);
}
}
水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3 + 3^3 = 153)
什么是水仙花数
水仙花数只是自幂数的一种,严格来说三位数的3次幂数才成为水仙花数。
附:其他位数的自幂数名字
一位自幂数:独身数
两位自幂数:没有
三位自幂数:水仙花数
四位自幂数:四叶玫瑰数
五位自幂数:五角星数
六位自幂数:六合数
七位自幂数:北斗七星数
八位自幂数:八仙数
九位自幂数:九九重阳数
十位自幂数:十全十美数
所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。例如: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());
}
}
打印出所有的"水仙花数"的程序:
package shuixianhuashu;
import shuixianhuashu.shuixianhuashu; public class shuixianhuashu {
static Boolean isSxh(int m){ int a1,a2,a3; a1=m/100; a2=m%100/10; a3=m%10; if(m3) return false;
else if( (a1*a1*a1+a2*a2*a2+a3*a3*a3) == (a1*100+a2*10+a3) )
return true; else
return false;
}
public static void main(String[] args){ System.out.println("1000以内的水仙花数:"); shuixianhuashu s = new shuixianhuashu(); for(int i=101;i1000;i++) if(s.isSxh(i))
System.out.print(i+"\t"); } }
运行结果:
1000以内的水仙花数: 153
370 371 407
【扩展】
所谓"水仙花数"是指一个三位数,其各位数字 立方和等于该数本身。