java阿姆斯特朗数,Java程序显示两个间隔之间阿姆斯特朗数

本文介绍了一个Java程序,用于找出指定范围内的所有阿姆斯特朗数。阿姆斯特朗数是指一个n位数,其各位数字的n次幂之和等于该数本身。示例代码展示了如何计算并打印出特定区间内的这些特殊数字。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java程序显示两个间隔之间阿姆斯特朗数

在此程序中,您将学习在Java中显示两个给定间隔(低和高)之间的所有armstrong数字。

正整数称为n阶的阿姆斯特朗数,如果abcd... = an + bn + cn + dn + ...

对于3位的阿姆斯特朗数字,每个数字的立方数之和等于数字本身。例如:153 = 1*1*1 + 5*5*5 + 3*3*3  // 153是一个阿姆斯特朗数。

示例:两个整数之间的阿姆斯壮数

public class Armstrong {

public static void main(String[] args) {

int low = 999, high = 99999;

for(int number = low + 1; number 

int digits = 0;

int result = 0;

int originalNumber = number;

//位数计算

while (originalNumber != 0) {

originalNumber /= 10;

++digits;

}

originalNumber = number;

//结果包含其数字的n次幂的和

while (originalNumber != 0) {

int remainder = originalNumber % 10;

result += Math.pow(remainder, digits);

originalNumber /= 10;

}

if (result == number)

System.out.print(number + " ");

}

}

}

运行该程序时,输出为:1634 8208 9474 54748 92727 93084

在上述程序中,检查了给定间隔高和低之间的每个数字。

每次检查后,digits和result将恢复为0。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值