#include #include #include #include #include wchar_t *numbers[301] = { L"ゼロ\n", L"いち\n", L"に\n", L"さん\n", L"よん\n", L"ご\n", L"ろく\n", L"なな\n", L"はち\n", L"きゅう\n", L"じゅう\n", L"じゅういち\n", L"じゅうに\n", L"じゅうさん\n", L"じゅうよん\n", L"じゅうご\n", L"じゅうろく\n", L"じゅうなな\n", L"じゅうはち\n", L"じゅうきゅう\n", L"にじゅう\n", L"にじゅういち\n", L"にじゅうに\n", L"にじゅうさん\n", L"にじゅうよん\n", L"にじゅうご\n", L"にじゅうろく\n", L"にじゅうなな\n", L"にじゅうはち\n", L"にじゅうきゅう\n", L"さんじゅう\n", L"さんじゅういち\n", L"さんじゅうに\n", L"さんじゅうさん\n", L"さんじゅうよん\n", L"さんじゅうご\n", L"さんじゅうろく\n", L"さんじゅうなな\n", L"さんじゅうはち\n", L"さんじゅうきゅう\n", L"よんじゅう\n", L"よんじゅういち\n", L"よんじゅうに\n", L"よんじゅうさん\n", L"よんじゅうよん\n", L"よんじゅうご\n", L"よんじゅうろく\n", L"よんじゅうなな\n", L"よんじゅうはち\n", L"よんじゅうきゅう\n", L"ごじゅう\n", L"ごじゅういち\n", L"ごじゅうに\n", L"ごじゅうさん\n", L"ごじゅうよん\n", L"ごじゅうご\n", L"ごじゅうろく\n", L"ごじゅうなな\n", L"ごじゅうはち\n", L"ごじゅうきゅう\n", L"ろくじゅう\n", L"ろくじゅういち\n", L"ろくじゅうに\n", L"ろくじゅうさん\n", L"ろくじゅうよん\n", L"ろくじゅうご\n", L"ろくじゅうろく\n", L"ろくじゅうなな\n", L"ろくじゅうはち\n", L"ろくじゅうきゅう\n", L"ななじゅう\n", L"ななじゅういち\n", L"ななじゅうに\n", L"ななじゅうさん\n", L"ななじゅうよん\n", L"ななじゅうご\n", L"ななじゅうろく\n", L"ななじゅうなな\n", L"ななじゅうはち\n", L"ななじゅうきゅう\n", L"はちじゅう\n", L"はちじゅういち\n", L"はちじゅうに\n", L"はちじゅうさん\n", L"はちじゅうよん\n", L"はちじゅうご\n", L"はちじゅうろく\n", L"はちじゅうなな\n", L"はちじゅうはち\n", L"はちじゅうきゅう\n", L"きゅうじゅう\n", L"きゅうじゅういち\n", L"きゅうじゅうに\n", L"きゅうじゅうさん\n", L"きゅうじゅうよん\n", L"きゅうじゅうご\n", L"きゅうじゅうろく\n", L"きゅうじゅうなな\n", L"きゅうじゅうはち\n", L"きゅうじゅうきゅう\n", L"ひゃく\n", L"ひゃくいち\n", L"ひゃくに\n", L"ひゃくさん\n", L"ひゃくよん\n", L"ひゃくご\n", L"ひゃくろく\n", L"ひゃくなな\n", L"ひゃくはち\n", L"ひゃくきゅう\n", L"ひゃくじゅう\n", L"ひゃくじゅういち\n", L"ひゃくじゅうに\n", L"ひゃくじゅうさん\n", L"ひゃくじゅうよん\n", L"ひゃくじゅうご\n", L"ひゃくじゅうろく\n", L"ひゃくじゅうなな\n", L"ひゃくじゅうはち\n", L"ひゃくじゅうきゅう\n", L"ひゃくにじゅう\n", L"ひゃくにじゅういち\n", L"ひゃくにじゅうに\n", L"ひゃくにじゅうさん\n", L"ひゃくにじゅうよん\n", L"ひゃくにじゅうご\n", L"ひゃくにじゅうろく\n", L"ひゃくにじゅうなな\n", L"ひゃくにじゅうはち\n", L"ひゃくにじゅうきゅう\n", L"ひゃくさんじゅう\n", L"ひゃくさんじゅういち\n", L"ひゃくさんじゅうに\n", L"ひゃくさんじゅうさん\n", L"ひゃくさんじゅうよん\n", L"ひゃくさんじゅうご\n", L"ひゃくさんじゅうろく\n", L"ひゃくさんじゅうなな\n", L"ひゃくさんじゅうはち\n", L"ひゃくさんじゅうきゅう\n", L"ひゃくよんじゅう\n", L"ひゃくよんじゅういち\n", L"ひゃくよんじゅうに\n", L"ひゃくよんじゅうさん\n", L"ひゃくよんじゅうよん\n", L"ひゃくよんじゅうご\n", L"ひゃくよんじゅうろく\n", L"ひゃくよんじゅうなな\n", L"ひゃくよんじゅうはち\n", L"ひゃくよんじゅうきゅう\n", L"ひゃくごじゅう\n", L"ひゃくごじゅういち\n", L"ひゃくごじゅうに\n", L"ひゃくごじゅうさん\n", L"ひゃくごじゅうよん\n", L"ひゃくごじゅうご\n", L"ひゃくごじゅうろく\n", L"ひゃくごじゅうなな\n", L"ひゃくごじゅうはち\n", L"ひゃくごじゅうきゅう\n", L"ひゃくろくじゅう\n", L"ひゃくろくじゅういち\n", L"ひゃくろくじゅうに\n", L"ひゃくろくじゅうさん\n", L"ひゃくろくじゅうよん\n", L"ひゃくろくじゅうご\n", L"ひゃくろくじゅうろく\n", L"ひゃくろくじゅうなな\n", L"ひゃくろくじゅうはち\n", L"ひゃくろくじゅうきゅう\n", L"ひゃくななじゅう\n", L"ひゃくななじゅういち\n", L"ひゃくななじゅうに\n", L"ひゃくななじゅうさん\n", L"ひゃくななじゅうよん\n", L"ひゃくななじゅうご\n", L"ひゃくななじゅうろく\n", L"ひゃくななじゅうなな\n", L"ひゃくななじゅうはち\n", L"ひゃくななじゅうきゅう\n", L"ひゃくはちじゅう\n", L"ひゃくはちじゅういち\n", L"ひゃくはちじゅうに\n", L"ひゃくはちじゅうさん\n", L"ひゃくはちじゅうよん\n", L"ひゃくはちじゅうご\n", L"ひゃくはちじゅうろく\n", L"ひゃくはちじゅうなな\n", L"ひゃくはちじゅうはち\n", L"ひゃくはちじゅうきゅう\n", L"ひゃくきゅうじゅう\n", L"ひゃくきゅうじゅういち\n", L"ひゃくきゅうじゅうに\n", L"ひゃくきゅうじゅうさん\n", L"ひゃくきゅうじゅうよん\n", L"ひゃくきゅうじゅうご\n", L"ひゃくきゅうじゅうろく\n", L"ひゃくきゅうじゅうなな\n", L"ひゃくきゅうじゅうはち\n", L"ひゃくきゅうじゅうきゅう\n", L"にひゃく\n", L"にひゃくいち\n", L"にひゃくに\n", L"にひゃくさん\n", L"にひゃくよん\n", L"にひゃくご\n", L"にひゃくろく\n", L"にひゃくなな\n", L"にひゃくはち\n", L"にひゃくきゅう\n", L"にひゃくじゅう\n", L"にひゃくじゅういち\n", L"にひゃくじゅうに\n", L"にひゃくじゅうさん\n", L"にひゃくじゅうよん\n", L"にひゃくじゅうご\n", L"にひゃくじゅうろく\n", L"にひゃくじゅうなな\n", L"にひゃくじゅうはち\n", L"にひゃくじゅうきゅう\n", L"にひゃくにじゅう\n", L"にひゃくにじゅういち\n", L"にひゃくにじゅうに\n", L"にひゃくにじゅうさん\n", L"にひゃくにじゅうよん\n", L"にひゃくにじゅうご\n", L"にひゃくにじゅうろく\n", L"にひゃくにじゅうなな\n", L"にひゃくにじゅうはち\n", L"にひゃくにじゅうきゅう\n", L"にひゃくさんじゅう\n", L"にひゃくさんじゅういち\n", L"にひゃくさんじゅうに\n", L"にひゃくさんじゅうさん\n", L"にひゃくさんじゅうよん\n", L"にひゃくさんじゅうご\n", L"にひゃくさんじゅうろく\n", L"にひゃくさんじゅうなな\n", L"にひゃくさんじゅうはち\n", L"にひゃくさんじゅうきゅう\n", L"にひゃくよんじゅう\n", L"にひゃくよんじゅういち\n", L"にひゃくよんじゅうに\n", L"にひゃくよんじゅうさん\n", L"にひゃくよんじゅうよん\n", L"にひゃくよんじゅうご\n", L"にひゃくよんじゅうろく\n", L"にひゃくよんじゅうなな\n", L"にひゃくよんじゅうはち\n", L"にひゃくよんじゅうきゅう\n", L"にひゃくごじゅう\n", L"にひゃくごじゅういち\n", L"にひゃくごじゅうに\n", L"にひゃくごじゅうさん\n", L"にひゃくごじゅうよん\n", L"にひゃくごじゅうご\n", L"にひゃくごじゅうろく\n", L"にひゃくごじゅうなな\n", L"にひゃくごじゅうはち\n", L"にひゃくごじゅうきゅう\n", L"にひゃくろくじゅう\n", L"にひゃくろくじゅういち\n", L"にひゃくろくじゅうに\n", L"にひゃくろくじゅうさん\n", L"にひゃくろくじゅうよん\n", L"にひゃくろくじゅうご\n", L"にひゃくろくじゅうろく\n", L"にひゃくろくじゅうなな\n", L"にひゃくろくじゅうはち\n", L"にひゃくろくじゅうきゅう\n", L"にひゃくななじゅう\n", L"にひゃくななじゅういち\n", L"にひゃくななじゅうに\n", L"にひゃくななじゅうさん\n", L"にひゃくななじゅうよん\n", L"にひゃくななじゅうご\n", L"にひゃくななじゅうろく\n", L"にひゃくななじゅうなな\n", L"にひゃくななじゅうはち\n", L"にひゃくななじゅうきゅう\n", L"にひゃくはちじゅう\n", L"にひゃくはちじゅういち\n", L"にひゃくはちじゅうに\n", L"にひゃくはちじゅうさん\n", L"にひゃくはちじゅうよん\n", L"にひゃくはちじゅうご\n", L"にひゃくはちじゅうろく\n", L"にひゃくはちじゅうなな\n", L"にひゃくはちじゅうはち\n", L"にひゃくはちじゅうきゅう\n", L"にひゃくきゅうじゅう\n", L"にひゃくきゅうじゅういち\n", L"にひゃくきゅうじゅうに\n", L"にひゃくきゅうじゅうさん\n", L"にひゃくきゅうじゅうよん\n", L"にひゃくきゅうじゅうご\n", L"にひゃくきゅうじゅうろく\n", L"にひゃくきゅうじゅうなな\n", L"にひゃくきゅうじゅうはち\n", L"にひゃくきゅうじゅうきゅう\n", L"さんびゃく\n", }; long offset[301]; int main(int argc, char **argv) { int i, n; FILE *fp; char *s, buf[256]; wchar_t wbuf[64]; #ifdef UTF8 setlocale(LC_ALL, "en_US.utf8"); #else setlocale(LC_ALL, "en_US"); #endif fp = fopen("output.txt", "w+"); if (fp == NULL) { perror("fopen"); exit(1); } for (i = 0; i <= 300; i++) { offset[i] = ftell(fp); if (fputws(numbers[i], fp) == -1) { perror("fputws"); exit(1); } } #ifdef TESTREAD fclose(fp); fp = fopen("output.txt", "r"); #endif for ( ; ; ) { s = fgets(buf, 256, stdin); n = atoi(buf); if (s == NULL || n < 0 || n > 300) break; if (fseek(fp, offset[n], SEEK_SET) == -1) { perror("fseek"); exit(1); } #ifdef NOFTELL printf("%d: (%ld) ", n, offset[n]); #else printf("%d: (%ld->%ld) ", n, offset[n], ftell(fp)); #endif fgetws(wbuf, 64, fp); wcstombs(buf, wbuf, 256); printf("%s", buf); } fclose(fp); return 0; }