#!/usr/bin/env cscript #include #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 (degree = log(index) / log(strlen(ALPHABET)), needle = address; degree >= 0; degree--) { printf("%d\n", degree); } printf("%d -> %s\n", index, address); }