打印100到999的水仙花数
时间: 2023-09-27 17:06:50 浏览: 66
好的,水仙花数是指一个三位数,其每个数位上的数字的立方和等于该数本身。因此,我们可以编写以下代码来打印100到999的水仙花数:
```python
for num in range(100, 1000):
# 分解出个位、十位、百位
digit1 = num // 100
digit2 = (num // 10) % 10
digit3 = num % 10
# 判断是否为水仙花数
if num == digit1 ** 3 + digit2 ** 3 + digit3 ** 3:
print(num)
```
输出结果为:
```
153
370
371
407
```
相关问题
水仙花数c语言代码100到999
水仙花数是指一个三位数,其各位数字立方之和等于该数本身。例如,153就是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。以下是用 C 语言编写的一个简单程序,用于找出100到999范围内的所有水仙花数:
```c
#include <stdio.h>
int is narcissistic(int num) {
int digits[3];
int sum = 0;
// 分离出每一位数字并计算立方和
while (num > 0) {
digits[2] = num % 10;
sum += digits[2] * digits[2] * digits[2];
num /= 10;
}
// 如果立方和等于原数,则是水仙花数
return sum == num;
}
int main() {
for (int i = 100; i <= 999; ++i) {
if (is_narcissistic(i)) {
printf("%d ", i);
}
}
return 0;
}
```
这个程序首先定义了一个辅助函数 `is_narcissistic` 来检查一个数是否为水仙花数,然后在 `main` 函数中遍历100到999之间的每一个数,如果遇到水仙花数就打印出来。
输出100-999水仙花数while
水仙花数是指一个三位数,它的每个位上的数字的三次幂之和等于它本身。例如,153是一个水仙花数,因为 1^3 + 5^3 + 3^3 = 153。下面是一个使用while循环输出100-999范围内所有水仙花数的示例代码:
```java
public class NarcissisticNumber {
public static void main(String[] args) {
int number = 100; // 从100开始
while (number <= 999) { // 直到999
int hundred = number / 100; // 获取百位数
int ten = (number % 100) / 10; // 获取十位数
int one = number % 10; // 获取个位数
if (Math.pow(hundred, 3) + Math.pow(ten, 3) + Math.pow(one, 3) == number) {
// 如果三个位置的数字的三次幂之和等于number,则输出该number
System.out.println(number);
}
number++; // 检查下一个数字
}
}
}
```
这段代码首先初始化变量`number`为100,然后使用`while`循环检查从100到999之间的每一个数字。在循环体内,代码首先计算出当前数字的百位、十位和个位数,然后判断这三个数字的三次幂之和是否等于原始数字。如果相等,就输出这个数字。循环结束后,所有的水仙花数都会被打印出来。
阅读全文