.c

来源:互联网 发布:改革开放前后数据对比 编辑:程序博客网 时间:2024/05/05 20:26

#include<stdio.h>
#include<math.h>
#include<string.h>
#include<stdlib.h>
#define max 100

void swap(char *a,char *b)
{

      char temp;
       temp=*a;
       *a=*b;
       *b=temp;
}

void code1(char *s)
{
       int i,j;
       int flag=0;
       int len=strlen(s);
       for(i=0;i<len-1;i++)
       {
               for(j=i+1;j<len;j++)
                       if(s[i]==s[j])
                       {
                               s[i]-=4;
                               s[j]=s[i]-10;
                               flag=1;
                               break;
                       }
               if(flag) break;
       }
       i+=2;
       j+=i;
       swap(&s[i],&s[j]);
       for(i=2;i<len;i++)
               if(i%2) s[i]+=6;
       for(i=0;i<len;i++)
               if(s[i]<0x64) s[i]+=7;
       s[5]-=10;
}

int jordan()
{
       int a[10];
       int i,j=0;
       int k,p,flag;
       for(i=2;i<100;i++)
       {
               if(i==2) a[j++]=i;
               else{
                       k=1;
                       p=sqrt(i);
                       do{
                               ++k;
                               flag=i%k;
                       }while(k<=p&&flag);
                       if(flag) a[j++]=i;
               }
       }
       return a[8];

}

int code2(char *s)
{
       int i;
       int flag;
       int sum=0;
       int len=strlen(s);
       for(i=0;i<len/2;i++)
               sum+=s[i]-s[len-i-1];
       if(sum==jordan()) flag=1;
       else flag=0;
       return flag;
}

int code3(char *s)
{
       int flag;
       int len=strlen(s);
       int i=len/2;
       while(--i>=0)
               if((s[i]!=s[i+3])&&(s[i]-s[i+3]==pow(3.0,2.0)))
                       flag=1;
               else flag=0;
       return flag;

}

int tm()
{
       int i;
       int n=1;
       for(i=1;i<1000000;i++)
               if(!(i%2)&&!(i%3)&&!(i%5)&&!(i%7)&&!(i%11)&&!(i%13)&&!(i%17)&&!(i%19))
                       n=i;
       return n;
}

int code4(char *s)
{
       int i,j;
       int temp;
       int flag=1;
       int len=strlen(s);
       for(i=0;i<len-1;i++)
               for(j=i+1;j<len;j++)
                       if(s[i]>s[j])
                       {
                               temp=s[i];
                               s[i]=s[j];
                               s[j]=temp;
                       }
       for(i=0;i<len/2+1;i++)
       {
               if(i<len/4)
               {
                       if((s[len-i-1]-s[i])%5)
                       {
                               flag=0;
                               break;
                       }
               }
               else if(s[i+1]-s[i]!=tm()) flag=0;
       }
       return flag;
}

int main()
{
       char mname[max];
       char yname[max];
       char band[max];
       char cartoon[max];
       printf("what's my name?(lowercase7)/n");
       scanf("%s",mname);
       code1(mname);
       if(!strcmp(mname,"shimian"))
       {
               printf("heihei wobubenyebuchidun!/n");
               printf("what's your name?(lowercase)/n");
               scanf("%s",yname);
               if(code2(yname))
               {
                       printf("hey,judy!(your new nickname XD)/n");
                       printf("what's your favorite band?(lowercase)/n");
                       scanf("%s",band);
                       if(code3(band))
                       {
                               printf("the crazy world!/n");
                               printf("what's your favorite cartoon?(lowercase)/n");
                               scanf("%s",cartoon);
                               if(code4(cartoon))
                               {
                                       printf("I'm always here waiting for you./nSekai ga Owaru madewa/n");
                               }
                               else printf("sorry,It's not for you../n");
                       }
                       else printf("sorry,It's not for you../n");
               }
               else printf("sorry,It's not for you../n");
       }
       else printf("sorry,It's not for you../n");
       return 0;
}
原创粉丝点击