代码如下:
#include "iostream"
using namespace std;
#include "vector"
#include "algorithm"
#include "cmath"
vector <int> arr_n;
vector <char> arr_w;
void Search(char c) {
for (int i = 0; i < arr_w.size(); i++) {
if (c == arr_w[i]) { // 如果在里面
arr_n[i]++; // 对应的数量++
return; // 退出
}
}
arr_w.push_back(c); arr_n.push_back(1); // 如果不在,....
}
bool IsInt(double num) { return num == (int)num; }
bool IsPrime(double num) {
for (double i = 2; i < sqrt(num); i++) {
if (IsInt(num / i)) return false;
}
return true;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(0);
string word;
cin >> word; //输入
for (int i = 0; i < word.size(); i++) {
Search(word[i]); //查找每个字母
}
int maxn = *max_element(arr_n.begin(), arr_n.end()); // 次数最大值
int minn = *min_element(arr_n.begin(), arr_n.end()); // 次数最小值
if (IsPrime(maxn - minn)) { // 如果是质数
cout << "Lucky Word" << "\n" << maxn - minn << endl;
}
else { // 否则
cout << "No Answer" << "\n" << 0 << endl;
}
return 0;
}