笨小猴

xiaoxiao2021-02-28  121

题目描述

笨小猴的词汇量很小,所以每次做英语选择题的时候都很头疼。但是他找到了一种方法,经试验证明,用这种方法去选择选项的时候选对的几率非常大! 这种方法的具体描述如下:假设maxn是单词中出现次数最多的字母的出现次数,minn是单词中出现次数最少的字母的出现次数,如果maxn-minn是一个质数,那么笨小猴就认为这是个Lucky Word,这样的单词很可能就是正确的答案。

输入

输入文件只有一行,是一个单词,其中只可能出现小写字母,并且长度小于100。

输出

输出文件共两行,第一行是一个字符串,假设输入的单词是error,那么输出“Lucky Word”,否则输出“No Answer”;第二行是一个整数,如果输出单词是Lucky Word,那么输出maxn-minn的值,否则输出0。 import java.util.*; public class Main { static boolean isPrime (int num) { if(num==0||num==1) return false; for(int i=2; i<=Math.sqrt(num); ++i) { if(num % i == 0) return false; } return true; } public static void main(String[] args) { Scanner in=new Scanner(System.in); while(in.hasNext()){ String w=in.next(); int[] a=new int[26]; int max=Integer.MIN_VALUE,min=Integer.MAX_VALUE; for (int i = 0; i < w.length(); i++) a[w.charAt(i)-'a']++; for (int i = 0; i < a.length; i++) { if(a[i]!=0){ if(a[i]>max) max=a[i]; if(a[i]<min) min=a[i]; } } if(isPrime(max-min)){ System.out.println("Lucky Word"); System.out.println(max-min); } else{ System.out.println("No Answer"); System.out.println(0); } } } } 由于此题的数据规模很小,所以可以不用打素数表,直接判断即可,此题关键是用桶排序来统计字母个数!
转载请注明原文地址: https://www.6miu.com/read-47092.html

最新回复(0)