呜呜求助
查看原帖
呜呜求助
711598
lgchh楼主2022/10/28 22:17

思路就是按a-z顺序计数,然后求maxmin再判断质数```c

#include #include<stdio.h> #include<string.h> #include<math.h> using namespace std; int main() { int a[26],maxn,minn,i,n,t; for(i=0;i<26;i++) a[i]=0; char s[100]; gets(s); for(i=0;i<strlen(s);i++) a[s[i]-'a']=a[s[i]-'a']+1; minn=a[s[0]-'a']; maxn=a[s[0]-'a']; for(i=0;i<26;i++) { if(a[i]>0&&a[i]<minn) minn=a[i]; else if(a[i]>maxn) maxn=a[i]; } n=maxn-minn; t=0; for(i=2;i<=floor(sqrt(n));i++) if((n%i)==0) t=t+1; if(t==0) cout<<"Lucky Word\n"<<n<<endl; else cout<<"No Answer\n"<<0<<endl; system("pause"); return 0; }

2022/10/28 22:17
加载中...