首页 > 编程语言 >Java编程经典例题|水仙花数

Java编程经典例题|水仙花数

时间:2024-03-22 18:32:23浏览次数:25  
标签:count 10 Java int sum 三位数 例题 水仙花

 一、题目描述

水仙花数(Narcissistic Number)也被称为阿姆斯特朗数(Armstrong Number),它是一个n位数,其各位数字的n次方之和等于该数本身。例如,对于三位数的水仙花数,其定义是:一个三位数,它的每个位上的数字的3次幂之和等于它本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。

题目要求:求出三位数中所有的水仙花数、以及所有水仙花数的和、并统计共有多少个水仙花数。

二、代码 

public class ShuiXianHua {  
    public static void main(String[] args) {  
        int sum = 0; // 用于保存水仙花数的和  
        int count = 0; // 用于统计水仙花数的数量  
  
        // 遍历所有的三位数  
        for (int i = 100; i < 1000; i++) {
			int g=i%10; //个位
			int s=(i/10) %10; //十位
			int b=i/100; //百位
			
            if (g*g*g+s*s*s+b*b*b== i) {  
                System.out.println(i + " 是一个水仙花数");  
                sum += i; // 累加到总和中  
                count++; // 统计数量  
            }  
        }  
  
        System.out.println("所有水仙花数的和为: " + sum);  
        System.out.println("共有 " + count + " 个水仙花数");  
    }  
}

三、输出结果 

 

四、代码分析

  1. 声明两个整型变量sumcount,分别用于保存水仙花数的总和和数量。

  2. 使用for循环遍历所有三位数(从100到999)。

  3. 在循环体内,使用取模运算(%)和整除运算(/)来提取每个数的个位、十位和百位数字。

    • int g = i % 10; 获取个位数字。
    • int s = (i / 10) % 10; 获取十位数字。
    • int b = i / 100; 获取百位数字。
  4. 接下来,检查该数是否是一个水仙花数,即各位数字的三次幂之和是否等于原数。

    • 如果满足条件,则打印出该水仙花数,并更新sumcount
  5. 循环结束后,打印出所有水仙花数的总和和数量。

很开心可以遇到你,希望你今天很开心,喜欢我的话就给我点个赞叭~ 

 

 

标签:count,10,Java,int,sum,三位数,例题,水仙花
From: https://blog.csdn.net/m0_46331650/article/details/136933262

相关文章

  • Java基础面试题(一)
    1.解释下什么是面向对象?面向对象和面向过程的区别?面向对象(Object-Oriented,简称OO)是一种程序设计范式或编程范式,也是一种程序开发的方法。它将对象作为程序的基本单元,将程序和数据封装在对象中,以提高软件的可重用性、灵活性和扩展性。在面向对象编程中,有以下几个核心概念:......
  • Java基础面试题(四)
    1.深克隆和浅克隆的区别?深克隆和浅克隆的主要区别在于它们处理对象中的引用类型字段的方式不同,这导致它们在复制对象时的行为有所不同。浅克隆(ShallowClone)在复制对象时,对于非基本类型(即引用类型)的属性,只复制其引用地址,而不复制引用的对象本身。这意味着,原始对象和克隆......
  • [项目] Java + Servlet + MySql + BootStrap4 一个简单的购书网(网上书城)项目 (附源码)
    ......
  • Java之集合
    一.List        存取有序,可以存储重复的元素,可以用下标进行元素的操作1.ArrayList        在Java数组中,长度是固定的,因此在数组被创建后,不能修改长度,这意味着开发者需要实现知道数组的长度。但在一般情况下,只有在运行时才知道数组长度。为了解决这个问题,Ar......
  • 关于javaScript的计算精度的解决办法
    项目中我们常常需要做一些计算,由于浮点数的二进制表示可能不精确,经常会遇到计算精度问题,例letresultNum=0.1+0.2;console.log(resultNum);//0.30000000000000004这个时候,如果我们不单独处理,那么页面上展示的时候就出现布局错乱等问题,比如我们可以保留两位小数采用Number(r......
  • Java版本spring cloud + spring boot企业电子招投标系统源代码
    招投标管理系统是一个集门户管理、立项管理、采购项目管理、采购公告管理、考核管理、报表管理、评审管理、企业管理、采购管理和系统管理于一体的综合性应用平台。它适用于招标代理、政府采购、企业采购和工程交易等业务的企业,旨在提高项目管理的效率和质量。该系统以项目为主......
  • Java 04 杂
    1.Scannerjava.io包的PrintWriter类可用于以通常可读的形式(文本)写入输出数据。java.util包的Scanner类用于从不同的源(例如输入流,用户,文件等)读取输入数据Scannerinput=newScanner(System.in);System.out.print("输入姓名:");//从键盘接收输入......
  • Java 基础IO 输入输出流3
    1.了解IO一个输入流用于从源读取数据。并且,输出流用于将数据写入目标。System.out是一种输出流。--向显示器控制台输出-字节流JavaInputStream类JavaOutputStream类字符流JavaReader类JavaWriter类2.InputStream输入文件读取-字节读取-序列化读取3.OutputStr......
  • 2020-8-9-JAVA机考题
    二叉排序数及中序遍历实现,socket应用,日志模拟的实现试题一/***实现要求:*1、根据已有的代码片段,实现一个二叉排序树;*2、用中序遍历输出排序结果,结果形如:0,1,2,3,4,5,6,7,8,9,*3、注意编写代码注释*/publicclassBinaryTree{ publicstaticvoidmain(String[]a......
  • 2020-5-5-JAVAWEB
    测试、反射、注解、Mysql、JDBC、Tomcat、servlet、HTTP、EL表达式、JSTL、Filter过滤器、代理模式、监听器、Redis、Maven测试1黑白盒测试黑盒测试:不需要写代码,给输入值,看程序能否给出期望的输出值白盒测试:需要写代码,关注程序具体执行流程2测试步骤1)定义测试类包名:cn.itca......