版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zzb2019/article/details/82429253
一条26个字母组成的消息,经过加密变成了数字流,加密方式如下:
‘A’->1 ‘B’->2 …… ‘Z’->26
现在给一个加密的消息,判断多少种解密方式。
示例:
input:12
output:2
intput:1212
output:5
int decode(char *src)
{
assert(src != NULL);
int n = strlen(src);
int number1 =1, number2=1;
for(int i=0;i<n;++i)
{
if (*(src + i) == '1' &&i != n - 1)
{
number1 *= 2;
}
else if(*(src + i) == '2'&&i != n - 1)
{
if (*(src + i + 1) < '7')
number2 *= 2;
}
}
return number1 + number2 - 1;
}
int main()
{
char a[] = "121212";
int result = decode(a);
cout << result << endl;
system("pause");
return 0;
}
扫描二维码关注公众号,回复:
5297866 查看本文章