結果
問題 | No.3025 |
ユーザー | くれちー |
提出日時 | 2017-06-16 00:09:36 |
言語 | C (gcc 12.3.0) |
結果 |
RE
|
実行時間 | - |
コード長 | 1,173 bytes |
コンパイル時間 | 251 ms |
コンパイル使用メモリ | 29,312 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-10-07 19:16:56 |
合計ジャッジ時間 | 777 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ソースコード
#include <stdio.h> #include <stdlib.h> #include <string.h> int main() { FILE *fp = fopen("source.c", "w"); fprintf(fp, "#include <stdio.h>\n"); fprintf(fp, "int main(void) {"); fprintf(fp, "unsigned char d[%d];", 32768); fprintf(fp, "for (int i = 0; i < %d; i++) d[i] = 0;", 32768); fprintf(fp, "unsigned char *p = d;"); // ref. http://yukicoder.me/submissions/161198 const char *code = ">+++++++++[<+++++++++++++>-]<+.-------.------.-----."; int len = strlen(code); for (int i = 0; i < len; i++) { switch (code[i]) { case '>': fprintf(fp, "p++;"); break; case '<': fprintf(fp, "p--;"); break; case '+': fprintf(fp, "(*p)++;"); break; case '-': fprintf(fp, "(*p)--;"); break; case '.': fprintf(fp, "putchar(*p);"); break; case ',': fprintf(fp, "*p = getchar();"); break; case '[': fprintf(fp, "while (*p) {"); break; case ']': fprintf(fp, "}"); break; } } fprintf(fp, "}"); fclose(fp); system("gcc source.c > /dev/null\n./a.out"); return 0; }