有点难搞,老是过不了,改了又改,都不知道错哪里了
查看原帖
有点难搞,老是过不了,改了又改,都不知道错哪里了
276303
初十三楼主2020/8/1 09:27
#include<bits/stdc++.h>
using namespace std;

int ad(int s)
{
	int t=sqrt(s);//第一种判断质数方法(只有40分)
   if(s==0)
   return 0;
	for(int i=2;i<=t;i++)
	if(s%i==0)
	return 0;
	return 1;
	/*if(s==2||s==3||s==7)//第二种判断质数的方法,也只得了80分
	return 1;
	if(s%6!=1||s%6!=5)
	return 0;
	int t=sqrt(s);
	for(int i=5;i<t;i+=6)
	if(s%i==0||s%(i+2)==0)
	return 0;
	return 1;*/

}
int main()
{
	string s;
	cin >> s;
	int l,k[100];
	memset(k,0,sizeof(k));
	l=s.length();
	for(int i=0;i<l;i++)//数单词里的重复字母。
	{
		for(int j=i;j<l;j++)
		{
			if(s[i]==s[j])
			k[i]++;
		}
	}
	sort(k,k+l);//排序
	int h=k[l-1]-k[0];//得出里面最大与最小的差值
	if(ad(h))//判断
	{
		cout << "Lucky Word" << endl;
		cout << h;
	}
	else
	{
		cout << "No Answer" << endl;
		cout << "0";
	}
	return 0;
 } 

大佬们,求救求救

2020/8/1 09:27
加载中...