求助
  • 板块灌水区
  • 楼主Petrichor_Left
  • 当前回复5
  • 已保存回复5
  • 发布时间2023/10/19 08:31
  • 上次更新2023/11/2 12:55:15
查看原帖
求助
730728
Petrichor_Left楼主2023/10/19 08:31
#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
string s;
int a[30],mina=1000,maxa=-1;
bool isPrime(int x)
{
	if(x<=1)return false;
	if(x==2 || x==3)return true;
	if(x%6!=1 && x%6!=5)return false;
	for(int i=5;i*i<=x;i+=6)if(x%i==0 || x%(i+2)==0)return false;
}
int main()
{
	cin>>s;
	for(int i=0;i<s.size();++i)a[s[i]-'a']++;
	for(int i=0;i<26;++i)
	{
		if(a[i]>0 && mina>a[i])mina=a[i];
		if(maxa<a[i])maxa=a[i];
	}
	if(isPrime(maxa-mina))printf("Lucky Word\n%d",maxa-mina);
	else printf("No Answer\n0");
	return 0;
}

这份代码可以通过P1125

#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
string s;
int a[30],mina=1000,maxa=-1;
bool isPrime(int x)
{
	if(x<=1)return false;
	if(x==2 || x==3)return true;
	if(x%6!=1 && x%6!=5)return false;
	for(int i=5;i*i<=x;i+=6)if(x%i==0 || x%(i+2)==0)return false;
}
int main()
{
	cin>>s;
	for(int i=0;i<s.size();++i)a[s[i]-'a']++;
	for(int i=0;i<26;++i)
	{
		if(a[i]>0 && mina>a[i])mina=a[i];
		if(maxa<a[i])maxa=a[i];
	}
	if(isPrime(maxa-mina)==true)printf("Lucky Word\n%d",maxa-mina);
	else printf("No Answer\n0");
	return 0;
}

但这份会WA #3

不同的地方:

if(isPrime(maxa-mina))printf("Lucky Word\n%d",maxa-mina);
if(isPrime(maxa-mina)==true)printf("Lucky Word\n%d",maxa-mina);

想知道这两处有什么区别

2023/10/19 08:31
加载中...