、编写程序求出 100-999 中所有的水仙花数。水仙花数是一个三位数,其各位数字的立方和等于该数。C语言
时间: 2024-03-25 17:38:50 浏览: 96
好的,以下是求解水仙花数的 C 语言代码:
```c
#include <stdio.h>
int main() {
int num, hundreds, tens, ones;
for (num = 100; num < 1000; num++) {
// 获取百位、十位、个位数字
hundreds = num / 100;
tens = (num / 10) % 10;
ones = num % 10;
// 判断是否为水仙花数
if (num == hundreds * hundreds * hundreds + tens * tens * tens + ones * ones * ones) {
printf("%d\n", num);
}
}
return 0;
}
```
输出结果为:
```
153
370
371
407
```
这些数都是三位数且满足各位数字的立方和等于该数,因此是水仙花数。
相关问题
、编写程序求出 100-999 中所有的水仙花数。水仙花数是一个三位数,其各位数字的立方和等于该数。例如 153=13+53+33。+
好的,以下是求解水仙花数的 Python 代码:
```python
for num in range(100, 1000):
# 获取百位、十位、个位数字
hundreds = num // 100
tens = (num // 10) % 10
ones = num % 10
# 判断是否为水仙花数
if num == hundreds ** 3 + tens ** 3 + ones ** 3:
print(num)
```
输出结果为:
```
153
370
371
407
```
这些数都是三位数且满足各位数字的立方和等于该数,因此是水仙花数。
c语言编写程序:将100-999之间的水仙花数输出,判断水仙花数的功能用自定义函数实现。水仙花数是指一个三位数等于各位数字的立方和。
以下是C语言程序的实现:
```c
#include <stdio.h>
// 自定义函数,判断一个数是否为水仙花数
int isNarcissistic(int num) {
int sum = 0, digit;
int temp = num;
while (temp != 0) {
digit = temp % 10;
sum += digit * digit * digit;
temp /= 10;
}
return num == sum;
}
int main() {
int i;
printf("100到999之间的水仙花数有:\n");
for (i = 100; i < 1000; i++) {
if (isNarcissistic(i)) {
printf("%d ", i);
}
}
printf("\n");
return 0;
}
```
程序中定义了一个自定义函数`isNarcissistic`,用于判断一个数是否为水仙花数。该函数的实现是,先将该数字的每个位数的三次方相加,得到一个结果`sum`,然后判断该数字是否等于`sum`。
在`main`函数中,利用循环遍历100到999之间的所有数字,对于每个数字,调用`isNarcissistic`函数进行判断,如果是水仙花数,则输出该数字。
阅读全文