#!/usr/bin/env cscript #include #include #define ALPHABET "ABCDEFGHIJKLMNOPQRSTUVWXYZ" int main(int argc, char *argv[]) { // 728 int index, degree; const char *target_address = "AAZ", address[1 + 3]; char *needle; for (needle = target_address, index = 0; *needle != '\0'; needle++) { index *= strlen(ALPHABET); index += 1 + strchr(ALPHABET, *needle) - ALPHABET; } printf("%s -> %d\n", target_address, index); for (needle = address; index > 0; index /= strlen(ALPHABET), needle++) { *needle = ALPHABET[index % (1 + power(strlen(ALPHABET), strlen(ALPHABET) - index)]; } printf("%d -> %s\n", index, address); }