解题思路:
核心就是字母哈希,练一下stl模板的map是可以的
注意事项:
C++是世界上最好的语言
参考代码:
#include <iostream> #include <algorithm> #include <string> #include <map> #include <stdio.h> using namespace std; map<char,int> letterCount; bool isPrime(const int n) { bool ret = true; if (n == 1) return false; else if (n == 0) return false; else { for (int i = 2; i*i <= n; i++) if (n%i == 0) ret = false; } return ret; } void getLetterCount(string& s) { for (string::iterator it = s.begin(); it < s.end(); it++) letterCount[*it]++; } void getMinMax(int& min, int& max) { max = 1; //对于map的迭代器,要使用!=运算符,<不能再使用 for (map<char, int>::iterator it = letterCount.begin(); it != letterCount.end(); it++) if (it->second > max) max = it->second; min = max; for (map<char, int>::iterator it = letterCount.begin(); it != letterCount.end(); it++) if (it->second < min && it->second >= 1) min = it->second; } int main(int argc, char** argv) { string word; cin >> word; getLetterCount(word); int min = 0, max = 0; getMinMax(min, max); if (isPrime(max - min)) cout << "Lucky Word" << "\n" << max - min; else cout << "No Answer" << "\n" << 0; system("pause"); return 0; }
0.0分
0 人评分
简单的a+b (C语言代码)浏览:783 |
Pascal三角 (C语言代码)浏览:1252 |
C语言程序设计教程(第三版)课后习题6.7 (C语言代码)浏览:548 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:537 |
有关字符,字符串的输入输出函数说明浏览:498 |
C语言程序设计教程(第三版)课后习题6.2 (C语言代码)浏览:569 |
C语言程序设计教程(第三版)课后习题9.6 (C语言代码)浏览:627 |
整数平均值 (C语言代码)浏览:856 |
C语言程序设计教程(第三版)课后习题12.2 (C语言代码)浏览:839 |
C语言程序设计教程(第三版)课后习题1.6 (C语言代码)浏览:692 |