打印出所有的水仙花数,所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身。

本文介绍了一种通过编程找出所有三位数范围内水仙花数的方法。水仙花数定义为一个三位数,其各位数字立方和等于该数本身。文章提供了一个具体的Java实现示例,并展示了如何使用循环和条件判断来找出所有符合条件的水仙花数。
摘要由CSDN通过智能技术生成
题目:
打印出所有的 "水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
程序分析设计:
我们可以先建立一个for循环 因为水仙花数是三位数 所以我们的循环范围是[100,999] ,在循环中 将每个数进行分割 分割成个位 十位 百位 然后计算出【个位的三次方 + 十位的三次方 + 百位的三次方】 将计算结果和该数本身对比 如果相等 那么这个数就是水仙花数
代码:
import org.junit.Test;
public class NarcissusNumber {
	public void isNarcissusNumber() {
		//循环[100 , 999]
		for(int i = 100 ; i <= 999 ; i ++) {
			//分割出个位
			int a = i % 10;
			//分割出十位
			int b = i / 10 % 10;
			//分割出百位
			int c = i / 100;
			//判断该数是否等于【个位的三次方 + 十位的三次方 + 百位的三次方】
			if(i == (Math.pow(a, 3) + Math.pow(b, 3) + Math.pow(c, 3))) {
				System.out.println(i + "是水仙花数");
			}
		}
	}
	@Test
	public void test() {
		isNarcissusNumber();
	}
	/**
	 * 结果:
	 * --->153是水仙花数
	 * --->370是水仙花数
	 * --->371是水仙花数
	 * --->407是水仙花数
	 */
}


评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值