小九九 发表于 2023-8-1 16:20:16

Java水仙花数

水仙花数,也被称为自恋数、阿姆斯特朗数,是指一个n位数(n≥3),它的每个位上的数字的n次幂之和等于它本身。下面是Java代码实现水仙花数的判断:

小九九 发表于 2023-8-1 16:20:54

public class NarcissisticNumber {
    public static void main(String[] args) {
      int start = 100;
      int end = 999;

      System.out.println("水仙花数有:");
      for (int i = start; i <= end; i++) {
            if (isNarcissisticNumber(i)) {
                System.out.println(i);
            }
      }
    }

    // 判断一个数是否为水仙花数
    public static boolean isNarcissisticNumber(int number) {
      int originalNumber = number;
      int result = 0;
      int digits = String.valueOf(number).length();

      while (number > 0) {
            int digit = number % 10;
            result += Math.pow(digit, digits);
            number /= 10;
      }

      return result == originalNumber;
    }
}

小九九 发表于 2023-8-1 16:21:48

水仙花数是指一个三位数,它的每个位上的数字的立方和等于它本身。举个例子:

153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。

小九九 发表于 2023-8-1 16:23:12

"位"是指一个数字中的每个位置或位置上的数字。对于一个整数,例如153,它有三个位:百位、十位和个位。

百位:位于最左侧的位置,表示该数值的百位数。
十位:位于中间的位置,表示该数值的十位数。
个位:位于最右侧的位置,表示该数值的个位数。
以153为例,1位于百位,5位于十位,3位于个位。

在判断水仙花数时,我们会分别计算每个位上数字的立方和,并判断是否与原始数值相等。

小九九 发表于 2023-8-1 16:24:22

立方和是指一个数的各个位上数字的立方的总和。例如,对于一个三位数153,它的每个位上的数字分别是1、5和3。立方和的计算方式是将每个位上的数字进行立方运算,然后将所有结果相加。

在这个例子中,立方和的计算如下:
1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153

所以,在这种情况下,153的立方和就等于它本身,因此可以判断它是一个水仙花数。

小九九 发表于 2023-8-1 16:28:51

一个三位数的例子是135。我们可以按照以下步骤进行计算:

取出个位数:5
取出十位数:3
取出百位数:1
然后我们可以进行加法和减法运算:

1 + 3 + 5 = 9
1 - 3 + 5 = 3

将两个结果相加得到 9 + 3 = 12。

最后的结果并不等于原始的数字135,所以135不是一个水仙花数。

小九九 发表于 2023-8-1 16:30:36

水仙花数并不适用于所有数字。水仙花数是指一个三位数,它的各位数字的立方和等于该数本身。

我们可以使用以下步骤来判断一个三位数是否为水仙花数:

取出个位数、十位数和百位数。
计算每个位数的立方(即将数自己乘以自己再乘以自己)。
将每个位数的立方相加得到立方和。
判断立方和与原始数字是否相等,如果相等,则该数是水仙花数;如果不相等,则不是水仙花数。
举个例子,对于数字153:

个位数为3,十位数为5,百位数为1。
计算立方:1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153。
立方和等于原始数字,所以153是一个水仙花数。
但并非所有的数字都满足这个条件。只有当一个三位数的立方和等于该数本身时,才被称为水仙花数。

小九九 发表于 2023-8-1 16:33:51

步骤来判断一个三位数是否为水仙花数:

取出个位数、十位数和百位数。
计算每个位数的立方(即将数自己乘以自己再乘以自己)。
将每个位数的立方相加得到立方和。
判断立方和与原始数字是否相等,如果相等,则该数是水仙花数;如果不相等,则不是水仙花数。
对于数字135:

个位数为5,十位数为3,百位数为1。
计算立方:1^3 + 3^3 + 5^3 = 1 + 27 + 125 = 153。
立方和等于原始数字,所以135是一个水仙花数。
对于135,经过计算后得出立方和等于原始数,因此135是一个水仙花数。
页: [1]
查看完整版本: Java水仙花数