题解 | #[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;
}
查看7道真题和解析