本题要求编写程序,判断一个给定的三位数是否为水仙花数。三位水仙花数,即其个位、十位、百位数字的立方和等于该数本身。 输入格式: 输入在一行中给出一个需要判断的整数 N(100≤N≤999)。 输出格式: 如果N是水仙花数,则在一行中输出Yes,否则输出No。如果N不是三位数,则输出Invalid Value.。使用c++
时间: 2024-01-21 22:16:59 浏览: 113
判断一个三位整数是非为水仙花数.zip
以下是C++代码实现:
```c++
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
if (n < 100 || n > 999) { // 判断是否为三位数
cout << "Invalid Value." << endl;
return 0;
}
int a = n / 100; // 获取百位数
int b = n / 10 % 10; // 获取十位数
int c = n % 10; // 获取个位数
if (a * a * a + b * b * b + c * c * c == n) { // 判断是否为水仙花数
cout << "Yes" << endl;
} else {
cout << "No" << endl;
}
return 0;
}
```
假设输入的整数为n,则:
1. 首先判断n是否为三位数,如果不是则输出"Invalid Value."。
2. 获取n的百位数、十位数和个位数分别为a、b、c。
3. 判断a的立方加上b的立方加上c的立方是否等于n,如果是则输出"Yes",否则输出"No"。
阅读全文