水仙花数c语言pta
时间: 2024-10-25 20:01:05 浏览: 179
水仙花数( Narcissistic Number 或者 Pluperfect Digital Invariant),是一种特殊的整数,它的各位数字立方和等于它本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
在C语言中,检测一个数是否是水仙花数可以编写如下的函数:
```c
#include <stdio.h>
int is_narcissistic(int num) {
int digits[10], sum = 0;
while (num > 0) {
digits[sum] = num % 10; // 获取最后一位并存入数组
num /= 10; // 清除最后一位
sum++;
}
int remaining_sum = 0;
for (int i = 0; i < sum; i++) {
remaining_sum += digits[i] * digits[i] * digits[i]; // 计算立方和
}
return (remaining_sum == num); // 如果两者相等,返回true,否则false
}
int main() {
int number;
printf("Enter a number to check if it's a narcissistic number: ");
scanf("%d", &number);
if (is_narcissistic(number)) {
printf("%d is a Narcissistic number.\n", number);
} else {
printf("%d is not a Narcissistic number.\n", number);
}
return 0;
}
```
阅读全文
相关推荐

















