C语言输出1-n以内的水仙花数
时间: 2024-10-28 20:06:05 浏览: 23
水仙花数是指一个三位数(每个位都不为0),其各位数字立方之和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。在C语言中,我们需要遍历100到999之间的所有整数,检查它们是否满足水仙花数的条件。下面是一个简单的程序来实现这个功能:
```c
#include <stdio.h>
#include <stdbool.h>
bool isArmstrongNumber(int num) {
int original_num, remainder, sum = 0;
original_num = num;
while (num != 0) {
remainder = num % 10;
sum += remainder * remainder * remainder;
num /= 10;
}
return original_num == sum;
}
int main() {
for (int i = 100; i < 1000; ++i) {
if (isArmstrongNumber(i)) {
printf("%d 是一个水仙花数。\n", i);
}
}
return 0;
}
相关问题
C语言输出0-1000以内的水仙花数 水仙花数算法:一个数=它各位的立方和,例如:153= 1*1*1 + 5*5*5 + 3*3*3 提示:for循环,求余(%)、取整(/)运算符
好的,以下是C语言代码示例:
```c
#include <stdio.h>
int main() {
int num, i, j, k;
for (num = 0; num <= 1000; num++) {
i = num / 100; // 取百位数
j = num / 10 % 10; // 取十位数
k = num % 10; // 取个位数
if (num == i * i * i + j * j * j + k * k * k) { // 判断是否为水仙花数
printf("%d\n", num);
}
}
return 0;
}
```
这段代码会从0开始循环到1000,对于每一个数,分别取其百位、十位和个位,计算它们的立方和并判断是否等于该数本身。如果等于,则输出该数。最后达到输出0-1000以内的水仙花数的目的。
用c语言输出1000以内的所有水仙花数
好的,这个问题可以回答。水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如,153是一个水仙花数,因为1³+5³+3³=153。以下是C语言代码实现输出1000以内的所有水仙花数:
#include <stdio.h>
int main() {
int i, j, k, n;
for (n = 100; n < 1000; n++) {
i = n / 100;
j = (n / 10) % 10;
k = n % 10;
if (i * i * i + j * j * j + k * k * k == n) {
printf("%d ", n);
}
}
return 0;
}
输出结果:
153 370 371 407
阅读全文