3月4日 P1125 [NOIP2008 提高组] 笨小猴

在这里插入图片描述

#include<iostream>
#include<cstdio>
#include<cstring>//处理字符串
using namespace std;
char a[100];
int zhishu[25]={
    
    2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97};
//100以内的质数也挺好找的
int sum[26];//计算对象是26个英文字母
int main()
{
    
    
	int ma=0,mi=100;
	scanf("%s",a);//学到字符串的输入方法,不加&
	int n=strlen(a);//<cstring>头文件的作用
	for(int i=0;i<n;i++)
		sum[a[i]-'a']++;
//将相应的出现的字母次数加一,注意表示方法,s[i]-'a'得到整型的与'a'的相对位置
    for(int i=0;i<26;i++){
    
    
    	if(sum[i]>ma)
			ma=sum[i];
		if(sum[i]<mi && sum[i]>0)//注意防止最小值为0!
			mi=sum[i];
	}
	int c=ma-mi;
	for(int i=0;i<25;i++){
    
    
		if(c==zhishu[i]){
    
    //查找质数
			cout<<"Lucky Word"<<endl<<c<<endl;
			return 0;//提前结束即可
		}
	}
	cout<<"No Answer"<<endl<<0<<endl;
	return 0;
}

因为热爱
所以坚持!

猜你喜欢

转载自blog.csdn.net/interestingddd/article/details/114379422