.c

#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 made wa/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;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值