/* * base 9 adder */ #include #include #include int ten_2_nine (int n); int main (void) { int n, m; char s [100], *ptr; while (gets (s) != NULL) { ptr = strtok (s, " "); n = strtol (ptr, (char **)NULL, 9); ptr = strtok (NULL, " "); m = strtol (ptr, (char **)NULL, 9); printf ("%d\n", ten_2_nine (n + m)); } return 0; } int ten_2_nine (int n) { char tmp [100]; int i, r; tmp [99] = '\0'; for (i = 0; i <= 98; i++) tmp [i] = '0'; i = 98; while (n) { r = n % 9; tmp [i] = r + '0'; i--; n = n / 9; } return (atoi (tmp)); }