首页 > 其他 > 详细

密码截取 (华为2015笔试题及答案)

时间:2015-03-26 19:40:08      阅读:230      评论:0      收藏:0      [点我收藏+]

Catcher是MCA国的情报员,他工作时发现敌国会用一些对称的密码进行通信,比如像这些ABBA,ABA,A,123321,但是他们有时会在开始或结束时加入一些无关的字符以防止别国破解。比如进行下列变化 ABBA->12ABBA,ABA->ABAKK,123321->51233214 。因为截获的串太长了,而且存在多种可能的情况(abaaab可看作是aba,或baaab的加密形式),Cathcer的工作量实在是太大了,他只能向电脑高手求助,你能帮Catcher找出最长的有效密码串吗?

#include<stdio.h>
int checkStr(char ch[],int i ,int j)
{
    int begin=i;
    int end=j;
    for(;ch[i]==ch[j];i++,j--)
    {
        if(j-i<2)
        {
            return end-begin+1;
            break;
        }
    }
    return 0;
}

void main()
{
    int len=0,max=1,i,j,num;
    char ch[10000];
    gets(ch);
    len=strlen(ch);
    for( i=0;i<len-1;i++)
        for( j=len-1;j>i;j--)
        {
             num=checkStr(ch,i,j);
            if(num>max)max=num;
        }
    printf("%d",max);
    
}

 

密码截取 (华为2015笔试题及答案)

原文:http://www.cnblogs.com/rednodel/p/4369237.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!