栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java基础(习题)---输出所有的水仙花数,并统计个数

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java基础(习题)---输出所有的水仙花数,并统计个数

1.什么是水仙花数?

a.水仙花数是一个三位数

b.水仙花数的个位,十位,百位的数字立方和等于原数

123        不是水仙花数 371                 是水仙花数 2.分析

a.三位数的个位数字如何求?

371      1就是原始数字对10进行取余(取模)运算的结果 

                                371 % 10 = 1

b.三位数的十位如何求?

371      7通过除以10,可以将7移动到个位上        

                                371 / 10 = 37

            37通过对10进行取余运算可以得到最后一位的值7        

                                 37 % 10 = 7

            总:371 / 10 % 10 = 7

c.三位数的百位如何求?

371        3就是原始数字除以100的结果

d.如何求任意数字指定位上的数值?

        先使用整数操作将要求的数字移动到个位上,在使用取余操作取出最后一位上的值

e.g

        12345               

        先整除100得到123,在对10取余得到3

3.源码
package cscn;

public class Example {

	public static void main(String[] args) {
		int count = 0;
		for (int i = 100; i < 1000; i++) {
			int ge = i % 10;
			int shi = i / 10 % 10;
			int bai = i / 100;
			if (ge * ge * ge + shi * shi * shi + bai * bai * bai == i) {
				System.out.println(i);
				count++;
			}
		}
		System.out.println("水仙花共有:" + count + "个");
	}

}
4.扩展

从控制台输入一个数判断该数是否是水仙刷数,如果是则按照“***是水仙花数”的格式输出,如果不是则在控台输出“***不是水仙花数”。

package cscn;

import java.util.*;

public class Random {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入一位三位数:");
		int i = sc.nextInt();
		int ge = i % 10;
		int shi = i / 10 % 10;
		int bai = i / 100;
		if (Math.pow(ge, 3) + Math.pow(shi, 3) + Math.pow(bai, 3) == i) {
			System.out.println(i + "是水仙花数");
		} else {
			System.out.println(i + "不是水仙花数");
		}
	}
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/836857.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号