Java程序查看水仙花数(Armstrong number)
时间:2020-01-09 10:35:26 来源:igfitidea点击:
这篇文章展示了如何在给定范围内以Java生成和显示Armstrong数字(阿姆斯特朗数(Armstrong number))。如果数字等于阿姆斯特朗数字的总和,即等于该数字的位数加到该数字的幂。
例如– 371 = 33 + 73 + 13 = 27 + 343 +1 = 371
此处的位数是3,因此每个位数都会提高到3的幂并加。由于计算得出的数字等于原始数字,因此371是阿姆斯特朗数字。
1634 = 14 + 6 4 + 34 + 44 = 1 + 1296 + 81 + 256 = 1634
显示给定范围内的阿姆斯特朗数– Java程序
import java.util.Scanner;
public class ArmstrongNumber {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter start number for displaying Armstrong numbers - ");
int start = sc.nextInt();
System.out.println("Enter end number for displaying Armstrong numbers - ");
int end = sc.nextInt();
System.out.print("Armstrong numbers with in " + start + " and " + end + "- ");
for(int i = start; i <= end; i++){
if(checkIfArmstrong(i)){
System.out.print(i + " ");
}
}
sc.close();
}
private static boolean checkIfArmstrong(int number){
// Converting to string and calculating length
int numLength = (number+"").length();
int temp = number;
int sum = 0;
while(temp > 0 ){
int remainder = temp % 10;
sum = sum + (int)Math.pow(remainder, numLength);
temp = temp/10;
}
if(number == sum){
return true;
}else{
return false;
}
}
}
输出:
Enter start number for displaying Armstrong numbers - 10 Enter end number for displaying Armstrong numbers - 10000 Armstrong numbers with in 10 and 10000- 153 370 371 407 1634 8208 9474

