您的位置:首页 > 编程语言 > Java开发

一些简单的java编程题(6) ————水仙花数

2018-02-03 16:56 211 查看
版权声明:保留个人权利,可转载,请注明出处(http://blog.csdn.net/wlsgdsb)。 
如程序有不当之处,敬请指正。

/* (程序头部注释开始)
版权声明:保留个人权利,可转载,请注明出处(http://blog.csdn.net/wlsgdsb)。 如程序有不当之处,敬请指正。

* 文件名称: 《一些简单的java编程题(6) ————水仙花数》
* 作 者: 那就去巴黎
* 完成日期: 2018 年 02 月 03 日
* 版 本 号: JDK 9.0.1

问题描述:
打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。
例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。

题目分析:
利用for循环遍历100-999里的数,每个数分解出个位,十位,百位。声明一个布尔型方法,若各位数字立方和等于该数本身,则判断正确,在主函数中输出此数。

* (程序头部的注释结束)
*/

package questions;

public class Q6
{
public static void main(String[] args)
{
System.out.println("水仙花数如下所示:");
for(int i=100;i<1000;i++)
{
if(narcissus(i))
System.out.print(i+" ");
}
}

private static boolean narcissus(int f) //水仙花数判断方法
{
int m=0;
int n=f;
int sum=0;

m=n/100; // 求出百位上的值
sum=m*m*m; // 百位上的值的三次方

n-=m*100;
m=n/10; // 求出十位上的值

n-=m*10; // 求出个位上的值
sum+=m*m*m+n*n*n; // 每位上数字的立方 的和

if(sum==f) // 判断是否符合条件:各位数字立方和等于该数本身
return true;
else
return false;
}

}程序运行结果如下:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 编程 水仙花数