当前位置:网站首页 > 更多 > 编程开发 > 正文

[算法刷题] 试题 算法提高 笨小猴

作者:CC下载站 日期:2020-04-01 00:00:00 浏览:61 分类:编程开发

资源限制时间限制:1.0s 内存限制:256.0MB问题描述  笨小猴的词汇量很小,所以每次做英语选择题的时候都很头疼。但是他找到了一种方法,经试验证明,用这种方法去选择选项的时候选对的几率非常大!
  这种方法的具体描述如下:假设maxn是单词中出现次数最多的字母的出现次数,minn是单词中出现次数最少的字母的出现次数,如果maxn-minn是一个质数,那么笨小猴就认为这是个Lucky Word,这样的单词很可能就是正确的答案。输入格式  输入文件只有一行,是一个单词,其中只可能出现小写字母,并且长度小于100。输出格式  输出文件共两行,第一行是一个字符串,假设输入的的单词是Lucky Word,那么输出“Lucky Word”,否则输出“No Answer”;第二行是一个整数,如果输入单词是Lucky Word,输出maxn-minn的值,否则输出0。样例输入error样例输出Lucky Word
2样例说明  单词error中出现最多的字母r出现了3次,出现次数最少的字母出现了1次,3-1=2,2是质数。样例输入olympic样例输出No Answer
0样例说明  单词olympic中所有字母都只出现了1次,1-1=0,0不是质数。
importjava.util.*;

publicclass笨小猴{

	/**
	*@paramargs
	*/
	publicstaticvoidmain(String[]args){
		//TODOAuto-generatedmethodstub
		Scannersc=newScanner(System.in);
		char[]str=sc.next().toCharArray();
		int[]zm=newint[26];
		for(inti:str){
			++zm[i-'a'];
		}
		intmax=0;intmin=Integer.MAX_VALUE;
		for(inti:zm){
			if(i!=0){
				if(i>max){
					max=i;
				}elseif(i<min){
					min=i;
				}
			}
		}
		if(iszs(max-min)){
			System.out.println("LuckyWord");
			System.out.println(max-min);
		}else{
			System.out.println("NoAnswer");
			System.out.println(0);
		}
		
	}
	publicstaticbooleaniszs(intn){
		booleanresult=true;
		if(n==1||n==0){
			result=false;
		}else{
			for(inti=2;i<n;i++){
				if(i%n==0){
					result=false;
					break;
				}
			}
		}
		returnresult;
	}
}


您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯