水仙花数固定范围C语言acm
时间: 2024-10-24 16:12:30 浏览: 12
AC自动机 C语言 ACM 字符串匹配
水仙花数是指一个三位数(百位、十位和个位数字各不相同),其各位数字立方之和等于该数本身。例如,153是一个水仙花数,因为 1^3 + 5^3 + 3^3 = 1 + 125 + 27 = 153。
在ACM竞赛中,如果你想要编写一个C语言程序来解决判断给定整数是否为水仙花数的问题,可以按照以下步骤:
1. **输入处理**:首先从标准输入读取一个三位数。
2. **分解数字**:将每个数字提取出来,比如`num / 100`, `(num % 100) / 10`, `num % 10`分别得到百位、十位和个位。
3. **计算立方和**:计算这三个数字各自立方的和。
4. **比较检查**:如果这个立方和等于原始的三位数,那么它就是水仙花数;否则不是。
5. **输出结果**:最后判断结果并输出。
下面是一个简单的C代码示例:
```c
#include <stdio.h>
int main() {
int num;
scanf("%d", &num);
if (num >= 100 && num <= 999) {
int hundreds = num / 100; // 百位
int tens = (num % 100) / 10; // 十位
int ones = num % 10; // 个位
int sumOfCubes = hundreds * hundreds * hundreds + tens * tens * tens + ones * ones * ones;
if (sumOfCubes == num) {
printf("%d is a narcissistic number.\n", num);
} else {
printf("%d is not a narcissistic number.\n", num);
}
} else {
printf("Number should be between 100 and 999.\n");
}
return 0;
}
```
阅读全文