水仙花程序怎么写

时间:2025-01-26 23:51:58 单机游戏

水仙花数是指一个三位数,其各个位数的立方和等于该数本身。以下是用不同编程语言编写的求水仙花数的程序:

Python

```python

def is_narcissistic_number(n):

a = n // 100

b = (n % 100) // 10

c = n % 10

return a3 + b3 + c3 == n

for i in range(100, 1000):

if is_narcissistic_number(i):

print(f"水仙花数: {i}")

```

Java

```java

import java.util.*;

public class ShuiXianHua {

public static void main(String[] args) {

System.out.println("判断水仙花数");

Scanner reader = new Scanner(System.in);

System.out.println("请输入一个三位数:");

int num = reader.nextInt();

if (isNarcissisticNumber(num)) {

System.out.println(num + "是水仙花数");

} else {

System.out.println(num + "不是水仙花数");

}

}

public static boolean isNarcissisticNumber(int num) {

int a = num / 100;

int b = (num % 100) / 10;

int c = num % 10;

return Math.pow(a, 3) + Math.pow(b, 3) + Math.pow(c, 3) == num;

}

}

```

C

```c

include

include

int isNarcissisticNumber(int num) {

int a = num / 100;

int b = (num % 100) / 10;

int c = num % 10;

return pow(a, 3) + pow(b, 3) + pow(c, 3) == num;

}

int main() {

int num;

printf("请输入一个三位数:");

scanf("%d", &num);

if (isNarcissisticNumber(num)) {

printf("%d是水仙花数\n", num);

} else {

printf("%d不是水仙花数\n", num);

}

return 0;

}

```

C++

```cpp

include

include

bool isNarcissisticNumber(int num) {

int a = num / 100;

int b = (num % 100) / 10;

int c = num % 10;

return pow(a, 3) + pow(b, 3) + pow(c, 3) == num;

}

int main() {

int num;

std::cout << "请输入一个三位数:";

std::cin >> num;

if (isNarcissisticNumber(num)) {

std::cout << num << "是水仙花数" << std::endl;

} else {

std::cout << num << "不是水仙花数" << std::endl;

}

return 0;

}

```

这些程序都可以用来判断一个三位数是否是水仙花数。你可以选择任意一种编程语言来实现。