题解 | #[NOIP2008]笨小猴#
[NOIP2008]笨小猴
https://www.nowcoder.com/practice/17865bc2a75c4944a872ef709958c56e
#include <stdio.h> #include <string.h> int is_prime(int num) { if (num <= 1) return 0; else { for (int i = 2; i * i <= num; i++) { if (num % i == 0) return 0; break; } return 1; } } int main() { char s[100]; scanf("%s", &s); int max = 0; int min = 100; int sub = 0; size_t len = strlen(s); int num = 0; for (int i = 0; i < len; i++) { for (int j = i + 1; j < len; j++) { if (s[i] == s[j]) { num++; for (int k = j; k < len; k++) { s[k] = s[k + 1]; } len--; j--; } } if (num > max) { max = num; } if(num<min) { min = num; } num = 0; } sub = max - min; if (is_prime(sub)) { printf("Lucky Word\n%d",sub); } else { printf("No Answer\n0"); } return 0; }