?
2024-04-11 21:17:15
发布于:陕西
40阅读
0回复
0点赞
前后查了几遍还是看不出来
代码:
#include <bits/stdc++.h>
using namespace std;
int prime(int n){
if(n<2) return 0;
for(int i=2;i<=n;i++){
if(n%i==0) return 0;
}
return 1;
}
int main(){
string s;
cin >> s;
int mx=0,mn=110,t[30];
for(int i=1;i<s.size();i++) t[int(s[i]-96)]++;
for(int i=1;i<=26;i++){
mx=max(t[i],mx);
mn=min(t[i],mn);
}
if(prime(mx-mn)==1) cout << "Lucky Word" << endl << mx-mn;
else cout << "No Answer" << endl << "0";
return 0;
}
帮忙看一下哪错了谢谢!
全部评论 2
有几个问题:
- 判断质数需要特殊判断2的存在。
- 不仅有小写字母,还有大写字母,因此有关t[int(s[i]-96)]++;的几行代码都需要做修改
2024-04-11 来自
2谢谢提醒!
2024-04-15 来自 陕西
0a那个输入里说了只可能有小写字母
2024-04-16 来自 陕西
0那应该是判断质数的问题了
2024-04-16 来自
0
你判断质数的函数不对qwq应该遍历到n-1,不然n%n=0,而且要特判2
2024-04-16 来自 广东
0哦2不用特判,但还有几个问题
2024-04-16 来自 广东
0?写的时候写错了
2024-04-16 来自 陕西
0
有帮助,赞一个