QvQ


私信TA

用户名:927937414

访问量:30535

签 名:

还是好好学习吧

等  级
排  名 79
经  验 9650
参赛次数 9
文章发表 44
年  龄 19
在职情况 学生
学  校
专  业 软件工程

  自我简介:

还没学算法的弱鸡

TA的其他文章

解题思路:思路很简单,比较容易理解,适合跟我一样的小白,值得注意的是输出Luck Word

或者No Answer和一个质数或者0

注意事项:

参考代码:

#include <iostream>
#include <cstring>
#include <cmath>
using namespace std;
int Isprime(int n){
	if(n==1||n==0)	/*0 1不是质数*/ 
		return 0;
		for(int i=2;i<=sqrt(n);i++)
			if(n%i==0)
				return 0;
		return 1;
}
int main(){
	int a[27],flag[27];
	memset(a,0 ,sizeof(a));		/*初始化数组*/ 
	memset(flag,0 ,sizeof(flag));
	char s[101];
	cin>>s;
	for(int i=0;i<strlen(s);i++){
		for(int j=0;j<26;j++){
			if(s[i]-'a'==j)	    /*保存a_z的下标*/
				a[j]++;		/*统计各个字母个数*/ 
		}
	}
	for(int i=0;i<26;i++)
		if(a[i]>0)
			flag[i]=1;		/*标记不为0的字母*/ 
	int Max=0,Min=999;
	for(int i=0;i<26;i++){
		if(flag[i]){
			if(a[i]>Max){	/*保存最大最小值*/ 
				Max=a[i];
			}
			if(a[i]<Min)
				Min=a[i];
		}
	}
	if(Isprime(Max-Min))	/*判断质数 */ 
		cout<<"Lucky Word"<<endl<<Max-Min<<endl;	/*按格式输出*/ 
	else 
		cout<<"No Answer"<<endl<<"0"<<endl;
	return 0;
}


 

0.0分

0 人评分

  评论区

  • «
  • »