洛谷P1125 [NOIP2008 提高组] 笨小猴(c语言)

为改进代码空间占用大:

单词就是字面意思所以不解释了

#include 
int word[1000];
char s[105];
int prime(int n)
{
    if(n<=1) return 0;
    else if(n==2) return 1;
    else
    {
        int i;
        for(i=2;i<=sqrt(n);i++)
        {
            if(n%i==0) return 0;
        }
        if(i>sqrt(n)) return 1;
    }
}
int main()
{
    
   
    scanf("%s",s);
    int len = strlen(s);
    int max=0,min=115;
    int i;
    for(i=0;iword[i]&&word[i]!=0) min = word[i];
        
    }
    if(prime(max-min))
    {
        printf("Lucky Word\n");
        printf("%d\n",max-min);
    }
    else
    {
        printf("No Answer\n");
        printf("%d\n",0);
    }
}

改进:

#include 
int word[26];
char s[105];
int prime(int n)
{
    if(n<=1) return 0;
    else if(n==2) return 1;
    else
    {
        int i;
        for(i=2;i<=sqrt(n);i++)
        {
            if(n%i==0) return 0;
        }
        if(i>sqrt(n)) return 1;
    }
}
int main()
{
    
   
    scanf("%s",s);
    int len = strlen(s);
    int max=0,min=115;
    int i;
    for(i=0;iword[i]&&word[i]!=0) min = word[i];
        
    }
    if(prime(max-min))
    {
        printf("Lucky Word\n");
        printf("%d\n",max-min);
    }
    else
    {
        printf("No Answer\n");
        printf("%d\n",0);
    }
}

word只需开26,运用了桶排序的思想-’a‘后0代表a,1代表b。

你可能感兴趣的:(c语言,c#,开发语言)