字符串和数论的一道题
思路
边输入边处理字符串,实时更新maxx,处理完后就剩下素数判断就做完了。
AC代码
#include<iostream> #include<map> #include<math.h> #include<algorithm> #include<string.h> using namespace std; map<char,int>m; int main(){ int maxx=-999999,minn=999999; char a[101]; cin>>a; int l=strlen(a); for(int i=0;i<l;i++){ m[a[i]]++; maxx=max(maxx,m[a[i]]); } for(int i=0;i<l;i++){ minn=min(minn,m[a[i]]); } maxx-=minn; if(maxx==0||maxx==1){ cout<<"No Answer"<<endl; cout<<0; return 0; } for(int i=2;i<=sqrt(maxx);i++){ if(maxx%i==0){ cout<<"No Answer"<<endl; cout<<0; return 0; } } cout<<"Lucky Word"<<endl; cout<<maxx; return 0; }