水仙花数c语言程序函数
时间: 2024-12-16 20:28:57 浏览: 2
水仙花数c语言程序.docx
水仙花数( narcissistic number 或 pluperfect digital invariant),也称为自恋数,是指一个三位数,其各位数字立方之和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
在C语言中编写一个函数来判断一个整数是否为水仙花数可以这样做:
```c
#include <stdio.h>
#include <stdbool.h>
bool isNarcissistic(int num) {
int digits[4], sum = 0;
// 将数字分解并计算立方和
while (num > 0) {
digits[3] = num % 10; // 最右边的数字
sum += digits[3] * digits[3] * digits[3]; // 立方和累加
num /= 10;
}
// 如果原始数和立方和相等,则它是水仙花数
return sum == num;
}
int main() {
int input;
printf("Enter a three-digit number to check if it's a Narcissistic number: ");
scanf("%d", &input);
if (isNarcissistic(input)) {
printf("%d is a Narcissistic number.\n", input);
} else {
printf("%d is not a Narcissistic number.\n", input);
}
return 0;
}
```
阅读全文