用c语言打印500以内的“水仙花数”。“水仙花数”是一个三位数,其各位数立方和等于该数本身。
时间: 2023-10-27 13:09:15 浏览: 368
好的,让我来帮您解答这个问题。以下是C语言代码:
```
#include <stdio.h>
int main() {
int num, digit, sum;
for (num = 100; num < 500; num++) {
digit = num % 10;
sum = digit * digit * digit;
digit = num / 10 % 10;
sum += digit * digit * digit;
digit = num / 100;
sum += digit * digit * digit;
if (sum == num) {
printf("%d ", num);
}
}
return 0;
}
```
这段代码用循环从100到500依次判断每个三位数是否为水仙花数,如果是,则输出该数。
相关问题
用C语言打印500以内的水仙花数,水仙花数是一个三位数,其各位数立方和等于该数本身
在C语言中,我们可以编写一个简单的程序来找出500以内的所有水仙花数。水仙花数是指一个三位数,它的百位、十位和个位数字分别立方后相加得到的数等于原数自身。以下是实现这个功能的一个示例代码:
```c
#include <stdio.h>
#include <math.h>
// 检查是否为水仙花数
int is_armstrong_number(int num) {
int digits[3];
int sum = 0;
// 获取并计算每一位的立方
digits[0] = num / 100; // 百位
digits[1] = (num % 100) / 10; // 十位
digits[2] = num % 10; // 个位
for (int i = 0; i < 3; i++) {
sum += pow(digits[i], 3);
}
return sum == num;
}
int main() {
int start = 100; // 开始查找从100开始的三位数
int end = 500; // 结束查找于500结束
printf("水仙花数在%d到%d之间的有:\n", start, end);
// 遍历查找
for (int num = start; num <= end; num++) {
if (is_armstrong_number(num)) {
printf("%d ", num);
}
}
return 0;
}
```
当你运行这个程序,它会打印出500以内所有的水仙花数。
利用c语言打印500以内的“水仙花数”。“水仙花数”是一个三位数,其各位数立方和等于该数本身
#include <stdio.h>
int main() {
int i, j, k, num;
for (num = 100; num <= 500; 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;
}
阅读全文