今天查YBT1407题解 发现有些地方不是很懂
【某博主题解】
#include<bits/stdc++.h>
using namespace std;
string word;
int maxn,minn=999999999,a[10001];
bool check(int n)
{
if(n<2)return false;
for(int i=2;i<=floor(sqrt(n));i++)
{
if(n%i==0)return false;
}
return true;
}
int main()
{
cin>>word;
for(int i=0;i<word.size();i++)a[word[i]-'a']++;
for(int i=0;i<26;i++)
{
if(maxn<a[i])maxn=a[i];
if(minn>a[i]&&a[i]!=0)minn=a[i];
}
if(check(maxn-minn))cout<<"Lucky Word\n"<<maxn-minn;
else cout<<"No Answer\n"<<0;
return 0;
}
按题解代码写当然是对的
然而最让我不解的是这个“a[word[i]-'a']++;” 统计各字母出现次数我知道 但为什么这样写?
我很想知道==