僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。
1からfizzbuzz, 16から次のfizzbuzz、と区分するようにする。
#!/usr/bin/env python from sys import argv try: last = int(argv[1]) except: print "No last number" exit(2) last = last + 1 fool_str = '' def fizzbuzz(str): print_str = ' printf("' + str + '");' print print_str return '' print '#include<stdio.h>\nint main()\n{' for x in range(1,last): if not (x % 15): fool_str = fool_str + 'fizzbuzz\\n' elif not (x % 5): fool_str = fool_str + 'buzz\\n' elif not (x % 3): fool_str = fool_str + 'fizz\\n' else: fool_str = fool_str + str(x) + '\\n' if (len(fool_str.split('\\n')) == 16) \ or (x == (last - 1)): fool_str = fizzbuzz(fool_str) print ' return 0;\n}'
拙速で汚いが、なんとか、
$ python inte.py 18 #include<stdio.h> int main() { printf("1\n2\nfizz\n4\nbuzz\nfizz\n7\n8\nfizz\n\ buzz\n11\nfizz\n13\n14\nfizzbuzz\n"); printf("16\n17\nfizz\n"); return 0; }
のようになった。
ファイルサイズも
以前より幾分小さくなったはずだ。
$ ls -l 1*0.c -rw-rw-r-- 1 user group 218 8月 17 00:35 10.c -rw-rw-r-- 1 user group 1856 8月 16 10:03 100.c -rw-rw-r-- 1 user group 18716 8月 16 10:03 1000.c -rw-rw-r-- 1 user group 192116 8月 16 10:03 10000.c -rw-rw-r-- 1 user group 1974116 8月 16 10:03 100000.c -rw-rw-r-- 1 user group 20274116 8月 16 10:03 1000000.c $ ls -l i1*.c -rw-rw-r-- 1 user group 102 8月 17 00:35 i10.c -rw-rw-r-- 1 user group 648 8月 17 00:35 i100.c -rw-rw-r-- 1 user group 6588 8月 17 00:36 i1000.c -rw-rw-r-- 1 user group 70788 8月 17 00:36 i10000.c -rw-rw-r-- 1 user group 760788 8月 17 00:36 i100000.c -rw-rw-r-- 1 user group 8140788 8月 17 00:18 i1000000.c
$ ls -l 1*0 -rwxrwxr-x 1 user group 8374 8月 16 10:09 10 -rwxrwxr-x 1 user group 8375 8月 16 10:09 100 -rwxrwxr-x 1 user group 20664 8月 16 10:09 1000 -rwxrwxr-x 1 user group 135353 8月 16 10:09 10000 -rwxrwxr-x 1 user group 1323194 8月 16 10:09 100000 -rwxrwxr-x 1 user group 13680827 8月 16 10:10 1000000 $ ls -l i1*0 -rwxrwxr-x 1 user group 8375 8月 17 00:38 i10 -rwxrwxr-x 1 user group 8376 8月 17 00:38 i100 -rwxrwxr-x 1 user group 12473 8月 17 00:38 i1000 -rwxrwxr-x 1 user group 69818 8月 17 00:38 i10000 -rwxrwxr-x 1 user group 655547 8月 17 00:38 i100000 -rwxrwxr-x 1 user group 7016636 8月 17 00:38 i1000000
リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。