题解 笨小猴:最暴力,最通俗易懂,最适合初级者们的题解

Fractures

2018-06-23 21:05:26

Solution

本作者认为,要写出一个好方程,最厉害的不是说会多么华丽的语句, 而是拿这最简练的语句,最巧妙的方式,写出最复杂的编程 我承认,我还是个蒟蒻。我拿最通俗的语句,反复构思了两天,做出来这道题 我只希望,那些像我一样,看起来很菜的人们,看到我写的题解能得到启发, 也看到这些话以后,努力学习,不放弃,不气馁,争取拍死远在前面的所谓 的"大佬"。加油! ```cpp #include<iostream> #include<algorithm> #include<cstdio> #include<iomanip> using namespace std; bool flag=true;//便于质数判断 char a[27],b[101]; int ntxt=0,num[27],maxn,tmp=0; int main(){ a[1]='a'; for(int i=2;i<=26;i++)a[i]=a[i-1]+1;//列举a-z while((b[ntxt]=getchar())!='\n')ntxt++; for(int i=1;i<=26;i++) for(int j=0;j<=ntxt;j++) if(a[i]==b[j])num[i]++;//出现一个字母,就对应的num+1 sort(num+1,num+27); for(int i=1;i<=26;i++){ if(num[i]==0)tmp=i;//防止"minn"为0 } maxn=num[26]-num[tmp+1]; if(maxn==0||maxn==1){//不知为什么0和1老是不能被判为非质数,所以就直接判定为"No Answer" cout<<"No Answer"<<endl; cout<<"0"<<endl; return 0; } for(int i=2;i<maxn;i++)//判定质数 if(maxn%i==0){flag=false;break;} if(flag==true){ cout<<"Lucky Word"<<endl; cout<<maxn<<endl; } if(flag==false){ cout<<"No Answer"<<endl; cout<<"0"<<endl; } return 0; } ```