All pastes #638438 Raw Edit

Someone

public text v1 · immutable
#638438 ·published 2007-07-29 20:45 UTC
rendered paste body
#include <stdio.h>
#include <string.h>

const char lookupTable[] = {
    0x0B, 0x06, 0x11, 0x0C, 0x0C, 0x0E, 0x05, 0x0C, 0x10, 0x0A, 0x0B, 0x06,
    0x0E, 0x0E, 0x04, 0x0B, 0x06, 0x0E, 0x0E, 0x04, 0x0B, 0x09, 0x0C, 0x0B,
    0x0A, 0x08, 0x0A, 0x0A, 0x10, 0x08, 0x04, 0x06, 0x0A, 0x0C, 0x10, 0x08,
    0x0A, 0x04, 0x10 };

int main(int argc, char* argv[]) {
    char name[81];

    if (argc > 1)
        strncpy(name, argv[1], 80);
    else {
        printf("Name: ");
        fgets(name, 81, stdin);
        if (name[strlen(name) - 1] == '\n')
            name[strlen(name) - 1] = 0;
    }

    if (strlen(name) < 5) {
        fprintf(stderr, "'Name' must be between 5-80 charachters long\n");
        return 1;
    }

    int nameIndex, tableIndex = 0;
    long int codea = 0, codeb = 0;

    for (nameIndex = 3; nameIndex < strlen(name); ++nameIndex) {
        codea += name[nameIndex] * lookupTable[tableIndex];
        codeb += name[nameIndex] * name[nameIndex - 1] * lookupTable[tableIndex];

        tableIndex = tableIndex + 1 % 38;
    }

    printf("%s\n%i-%i\n", name, codea, codeb);
    return 0;
}