/*
numbers mapping:
a = 1
b = 2
...
j = 10#
...
z = 26#
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char* DecryptString(const char* s) {
int size = strlen(s);
char* result = (char *)malloc((size + 1) * sizeof(char));
int i = 0, j = 0;
while (i < size) {
if (i + 2 < size && s[i + 2] == '#') {
int num = (s[i] - '0') * 10 + (s[i + 1] - '0');
result[j++] = (char)(num + 96);
i += 3;
} else {
result[j++] = (char)((s[i] - '0') + 96);
i++;
}
}
result[j] = '\0';
return result;
}
int main() {
char* decrypted = DecryptString("12310#11#26#");
printf("%s\n", decrypted);
free(decrypted);
return 0;
}
/*
run:
abcjkz
*/