输入在一行中给出一个需要判断的整数 N(100≤N≤999)。如果N是水仙花数,则在一行中输出Yes,否则输出No。如果N不是三位数,则输出Invalid Value.。
时间: 2024-12-16 17:25:45 浏览: 6
要编写一个程序来检查一个给定的整数是否为水仙花数,你可以遵循以下步骤:
1. 首先,你需要确保输入是一个三位数。如果是小于100或大于等于1000的数字,就输出 "Invalid Value"。
2. 对于一个三位数,将每个位上的数字提取出来。可以通过除以100、10和1得到每一位。
3. 计算每个位上数字的立方,并将它们相加。
4. 检查这个总和是否等于原始数字N。如果相等,那么N就是水仙花数,输出"Yes";否则,输出"No"。
这里是相应的C语言代码:
```c
#include <stdio.h>
int main() {
int n, hundreds, tens, ones;
// 输入处理
scanf("%d", &n);
if (n < 100 || n >= 1000) {
printf("Invalid Value.\n");
return 0;
}
// 提取每一位数字
hundreds = n / 100; // 取百位
tens = (n % 100) / 10; // 取十位
ones = n % 10; // 取个位
// 计算立方和
int sumOfCubes = hundreds * hundreds * hundreds + tens * tens * tens + ones * ones * ones;
// 检查是否为水仙花数
if (sumOfCubes == n) {
printf("Yes\n");
} else {
printf("No\n");
}
return 0;
}
```
阅读全文