一、题目描述
水仙花数(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 + " 个水仙花数");
}
}
三、输出结果
四、代码分析
声明两个整型变量
sum
和count
,分别用于保存水仙花数的总和和数量。使用
for
循环遍历所有三位数(从100到999)。在循环体内,使用取模运算(
%
)和整除运算(/
)来提取每个数的个位、十位和百位数字。
int g = i % 10;
获取个位数字。int s = (i / 10) % 10;
获取十位数字。int b = i / 100;
获取百位数字。接下来,检查该数是否是一个水仙花数,即各位数字的三次幂之和是否等于原数。
- 如果满足条件,则打印出该水仙花数,并更新
sum
和count
。循环结束后,打印出所有水仙花数的总和和数量。
很开心可以遇到你,希望你今天很开心,喜欢我的话就给我点个赞叭~
标签:count,10,Java,int,sum,三位数,例题,水仙花 From: https://blog.csdn.net/m0_46331650/article/details/136933262