题解 | #[NOIP2008]笨小猴#
[NOIP2008]笨小猴
https://www.nowcoder.com/practice/17865bc2a75c4944a872ef709958c56e
#include<stdio.h> #include<string.h> int main() { char s[100]={0}; scanf("%s",s); int max=1,min=5,x=0,a=0; int n=strlen(s); for(int i=0;i<n;i++) { int k=0,temp; for(int j=0;j<n;j++)//这个之前我用的是j=i,后来在aaabb这个例子上遍历发现min锁定是1,所以需要改成j=0的遍历 { if(s[i]==s[j]) { k++; } } a=k; if(k>max) { temp = k; k=max; max=temp; } if(a<min) { min=a; } } for(int i=2;i<max-min;i++)//对质数的判定 { if(max-min%i==0) { printf("No Answer\n"); x++; printf("0"); break; } } if(max-min<=1) { printf("No Answer\n"); x++; printf("0"); } else if(x==0) { printf("Lucky Word\n"); printf("%d",max-min); } return 0; }