题解 | #[NOIP2008]笨小猴#
[NOIP2008]笨小猴
https://www.nowcoder.com/practice/17865bc2a75c4944a872ef709958c56e
#include <iostream> using namespace std; #include <string.h> int main() { char str[1000] = { 0 }; scanf("%s", &str); char* pa = str; int i = 0; int sz = strlen(str); int sum[1000] = {0}; for (i = 0; i < sz; i++) { int j = 0; int a = 0; for (j = 0; j < sz; j++) { if (*(pa+i) == *(pa + j)) { a++; } sum[i] = a; } } int max = sum[0]; int min = sum[0]; for (i = 1; i < sz; i++) { if (max <= sum[i]) { max = sum[i]; } if (min >= sum[i]) { min = sum[i]; } } int c = max - min; for (i = c; i < sz; i++) { int j = 0; for (j = 2; j < i; j++) { if (c % j == 0) { break; } } if (i == j) { printf("Lucky Word\n"); printf("%d",c); break; } else { printf("No Answer\n"); printf("0"); break; } } return 0; } // 64 位输出请用 printf("%lld")