水仙花数
Posted 20175317zrw
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了水仙花数相关的知识,希望对你有一定的参考价值。
水仙花数
需求分析
在学习C语言时我们曾经接触过水仙花数,并用C语言实现过查找水仙花数。水仙花数是指一个3位数,它的每个位上的数字的3次幂之和等于它本身,例如:1^3+5^3+3^3=153。
功能设计
编写的程序需要实现的功能:输出所有的水仙花数
设计实现
查找水仙花数的过程较为简单,所以在主类中进行编写就可以实现。
因为水仙花数都是3位数,所以可以使用100到999的循环逐个进行判断,将三位数n除以100,便可得到百位i;将n减去百位i100,然后再除以10便可求得十位j;再用n减去百位i100再减去十位j*10,得到个位数k。最后判断百位i的三次方加十位j的三次方加个位k的三次方是否与原来的数n相等,若相等则输出该数,否则继续循环,n++。
测试运行
核心代码
for(n=100;n<1000;n++){ //水仙花数为100到999
i = n / 100; //百位
j = (n - i * 100) / 10; //十位
k = n - i * 100 - j * 10; //个位
if (i * i * i + j * j * j + k * k * k == n) //如果满足水仙花数
System.out.println(n); //输出该数
总结
因为之前实现过查找水仙花数,所以这次的程序编写过程一帆风顺,只需要将C语言转化为Java语言即可,此过程帮助我重温了水仙花数的知识,同时也复习了Java的基本语句。
PSP
步骤 | 耗时(min) | 百分比 |
---|---|---|
需求分析 | 5 | 11.1% |
设计 | 5 | 11.1% |
代码实现 | 10 | 22.2% |
测试 | 10 | 22.2% |
分析总结 | 15 | 33.3% |
以上是关于水仙花数的主要内容,如果未能解决你的问题,请参考以下文章