美丽数字c++函数
时间: 2024-02-11 08:07:56 浏览: 26
以下是一个用 C++ 编写的美丽数字判断函数:
```c++
#include <iostream>
#include <string>
#include <cmath>
using namespace std;
bool isHappyNumber(int num) {
int sum = 0;
while (num != 1 && num != 4) {
while (num > 0) {
int digit = num % 10;
sum += pow(digit, 2);
num /= 10;
}
num = sum;
sum = 0;
}
return num == 1;
}
bool isHappyPrime(int num) {
if (num < 10 || !isHappyNumber(num)) {
return false;
}
for (int i = 2; i <= sqrt(num); i++) {
if (num % i == 0) {
return false;
}
}
return true;
}
int main() {
int num;
cout << "请输入一个数字:";
cin >> num;
if (isHappyPrime(num)) {
cout << "这是一个美丽数字!" << endl;
} else {
cout << "这不是一个美丽数字!" << endl;
}
return 0;
}
```
该程序首先定义了两个函数:`isHappyNumber()` 和 `isHappyPrime()`。其中,`isHappyNumber()` 函数用来判断一个数是否为快乐数,`isHappyPrime()` 函数则用来判断一个数是否为素数并且是快乐数。
在 `main()` 函数中,程序首先读取用户输入的数字,然后调用 `isHappyPrime()` 函数来判断该数字是否为美丽数字。如果是,则输出提示信息;否则,输出另一条提示信息。