、编写程序求出 100-999 中所有的水仙花数。水仙花数是一个三位数,其各位数字的立方和等于该数。C语言
时间: 2024-03-25 22:38:50 浏览: 111
好的,以下是求解水仙花数的 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 isNarcissisticNumber(int num)
{
int sum = 0;
int temp = num;
while (temp > 0) {
int digit = temp % 10;
sum += digit * digit * digit;
temp /= 10;
}
return sum == num;
}
int main()
{
printf("100-999之间的水仙花数有:\n");
for (int i = 100; i <= 999; i++) {
if (isNarcissisticNumber(i)) {
printf("%d\n", i);
}
}
return 0;
}
```
程序中使用了一个自定义函数`isNarcissisticNumber`,用于判断一个整数是否为水仙花数。该函数使用了一个while循环,依次取出数字的个位、十位、百位,计算它们的立方和。如果和等于原数,则返回真,否则返回假。
在主函数中,使用for循环遍历100-999之间的所有整数,依次调用`isNarcissisticNumber`函数进行判断。如果是水仙花数,则输出该数。最终程序输出所有水仙花数。
阅读全文