前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java输出所有三位數的”水仙花数”

Java输出所有三位數的”水仙花数”

作者头像
葆宁
发布2019-04-18 17:10:43
2.6K0
发布2019-04-18 17:10:43
举报
文章被收录于专栏:FREE SOLOFREE SOLO
代码语言:javascript
复制
package com.pku.wuyu.io;
/*
 * 需求:在控制台输出所有的”水仙花数”
 * 
 * 分析:
 * 		什么是水仙花数呢?
 * 			所谓的水仙花数是指一个三位数,其各位数字的立方和等于该数本身。
 *			举例:153就是一个水仙花数。
 *			153 = 1*1*1 + 5*5*5 + 3*3*3
 *
 *		A:三位数其实就告诉了我们水仙花数的范围
 *			100-999
 *		B:如何获取一个数据的每一个位上的数呢?
 *			举例:我有一个数据153,请问如何获取到个位,十位,百位
 *			个位:153%10 = 3;
 *			十位:153/10%10 = 5;
 *			百位:153/10/10%10 = 1;
 *			千位:...
 *			万位:...
 *		C:让每个位上的立方和相加,并和该数据进行比较,如果相等,就说明该数据是水仙花数,在控制台输出
 */
public class Demo01 {
	public static void main(String[] args) {
		//通过循环获取到每一个三位数
		for(int x=100; x<1000; x++) {
			//获取个位,十位,百位
			int ge = x%10;
			int shi = x/10%10;
			int bai = x/10/10%10;
			
			//让每个位上的立方和相加,并和该数据进行比较,如果相等,就说明该数据是水仙花数,在控制台输出
			if((ge*ge*ge+shi*shi*shi+bai*bai*bai) == x) {
				System.out.println(x);
			}
		}
	}
}/*153
370
371
407
*/

统计”水仙花数”共有多少个

代码语言:javascript
复制
/*
 * 需求:统计”水仙花数”共有多少个
 * 
 * 分析:
 * 		A:定义统计变量,初始化值是0
 * 		B:获取三位数,用for循环实现
 * 		C:获取三位数的个位,十位,百位
 * 		D:判断这个三位数是否是水仙花数,如果是,统计变量++
 * 		E:输出统计结果就可以了
 */
public class Demo02 {
	public static void main(String[] args) {
		//定义统计变量,初始化值是0
		int count = 0;
		
		//获取三位数,用for循环实现
		for(int x=100; x<1000; x++) {
			//获取三位数的个位,十位,百位
			int ge = x%10;
			int shi = x/10%10;
			int bai = x/10/10%10;
			
			//判断这个三位数是否是水仙花数,如果是,统计变量++
			if((ge*ge*ge+shi*shi*shi+bai*bai*bai) == x) {
				count++;
			}
		}
			//输出统计结果就可以了
		System.out.println("水仙花数共有:"+count+"个");
	}
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年03月29日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档