水仙花数:输出所有的“水仙花数”。所谓“水仙花数”是指一个3位数,其各位数字立方之和等于该数本身。例如,153是一个水仙花数,因为153=1³+5³+3³,指针实现
时间: 2023-06-13 19:05:22 浏览: 103
以下是指针实现的代码:
```c
#include <stdio.h>
int main() {
int num, digit, sum;
int *p_num = #
int *p_digit = &digit;
int *p_sum = ∑
for (*p_num = 100; *p_num < 1000; (*p_num)++) {
*p_sum = 0;
for (int i = 0; i < 3; i++) {
*p_digit = (*p_num / (int)pow(10, i)) % 10;
*p_sum += (*p_digit) * (*p_digit) * (*p_digit);
}
if (*p_sum == *p_num) {
printf("%d ", *p_num);
}
}
return 0;
}
```
输出结果为:
```
153 370 371 407
```
相关问题
水仙花数 输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数字本身。例如,153是一个水仙花数,因为 输出说明: 所有的“水仙花数”
所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数字本身。例如,153是一个水仙花数,因为1³+5³+3³=153。输出所有的“水仙花数”可以使用循环来实现,遍历所有3位数,判断其是否为“水仙花数”,如果是则输出即可。
例如,Python代码实现如下:
```
m = 100
n = 999
for i in range(m, n+1):
num = str(i)
sum = 0
for j in num:
sum += int(j)**3
if sum == i:
print(i)
```
水仙花数 输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数字本身。例如,153是一个水仙花数,因为 输入说明: 所有的“水仙花数” 输入示例: 无 输出示例: 153 370 371 407
for i in range(100, 1000):
a = i // 100 # 百位数
b = (i // 10) % 10 # 十位数
c = i % 10 # 个位数
if i == a**3 + b**3 + c**3:
print(i)
阅读全文