この記事は、TUT Advent Calendar 2016 - Adventar の13日目の記事です。

正規表現入門はこちら

 

上司「正規表現を使うと文字列を条件によって置き換えることができる」

めう「できるめう」

上司「でも正規表現で計算はできない」

めう「perlの正規表現内サブルーチン呼び出し等を除いてはできないめう…」

上司「そこで正規表現を幾重にも繰り返す」

めう「

上司「正規表現を使って加算ができた」

めう「やっためう!すごいめう!」

minimapの前半が圧巻。

トレースはこんな感じ。文字列として計算しているので、数千桁の精度で計算できる。

> ./regAdd.py -t 9009 29011
          : 9009+29011
      ================ pre ================
      0000: 9009_+29011
      0001: 9009_+29011_=
          : 9009_+29011_=
      converged


      ================ main ================
      0000: 9009_+29011_=
      0001: 9009_+29011_=
      0002: 9009_+29011_=
      0003: 9009_+29011_=
      0004: 9009_+29011_=
      0005: 9009_+29011_=
      0006: 9009_+29011_=
      0007: 9009_+29011_=
      0008: 9009_+29011_=
      0009: 9009_+29011_=
      0010: 9009_+29011_=
      0011: 9009_+29011_=
      0012: 9009_+29011_=
      0013: 9009_+29011_=
      0014: 9009_+29011_=
      0015: 9009_+29011_=
      0016: 9009_+29011_=
      0017: 9009_+29011_=
      0018: 9009_+29011_=
      0019: 9009_+29011_=
      0020: 9009_+29011_=
      0021: 9009_+29011_=
      0022: 9009_+29011_=
      0023: 9009_+29011_=
      0024: 9009_+29011_=
      0025: 9009_+29011_=
      0026: 9009_+29011_=
      0027: 9009_+29011_=
      0028: 9009_+29011_=
      0029: 9009_+29011_=
      0030: 9009_+29011_=
      0031: 9009_+29011_=
      0032: 9009_+29011_=
      0033: 9009_+29011_=
      0034: 9009_+29011_=
      0035: 9009_+29011_=
      0036: 9009_+29011_=
      0037: 9009_+29011_=
      0038: 9009_+29011_=
      0039: 9009_+29011_=
      0040: 9009_+29011_=
      0041: 9009_+29011_=
      0042: 9009_+29011_=
      0043: 9009_+29011_=
      0044: 9009_+29011_=
      0045: 9009_+29011_=
      0046: 9009_+29011_=
      0047: 9009_+29011_=
      0048: 9009_+29011_=
      0049: 9009_+29011_=
      0050: 9009_+29011_=
      0051: 9009_+29011_=
      0052: 9009_+29011_=
      0053: 9009_+29011_=
      0054: 9009_+29011_=
      0055: 9009_+29011_=
      0056: 9009_+29011_=
      0057: 9009_+29011_=
      0058: 9009_+29011_=
      0059: 9009_+29011_=
      0060: 9009_+29011_=
      0061: 9009_+29011_=
      0062: 9009_+29011_=
      0063: 9009_+29011_=
      0064: 9009_+29011_=
      0065: 9009_+29011_=
      0066: 9009_+29011_=
      0067: 9009_+29011_=
      0068: 9009_+29011_=
      0069: 9009_+29011_=
      0070: 9009_+29011_=
      0071: 9009_+29011_=
      0072: 9009_+29011_=
      0073: 9009_+29011_=
      0074: 9009_+29011_=
      0075: 9009_+29011_=
      0076: 9009_+29011_=
      0077: 9009_+29011_=
      0078: 9009_+29011_=
      0079: 9009_+29011_=
      0080: 9009_+29011_=
      0081: 9009_+29011_=
      0082: 9009_+29011_=
      0083: 9009_+29011_=
      0084: 9009_+29011_=
      0085: 9009_+29011_=
      0086: 9009_+29011_=
      0087: 9009_+29011_=
      0088: 9009_+29011_=
      0089: 9009_+29011_=
      0090: 9009_+29011_=
      0091: 9009_+29011_=#0
      0092: 9009_+29011_=#0
      0093: 9009_+29011_=#0
      0094: 9009_+29011_=#0
      0095: 9009_+29011_=#0
      0096: 9009_+29011_=#0
      0097: 9009_+29011_=#0
      0098: 9009_+29011_=#0
      0099: 9009_+29011_=#0
      0100: 900_9+2901_1=#0
      0101: 900_9+2901_1=#0
          : 900_9+2901_1=#0
      0000: 900_9+2901_1=#0
      0001: 900_9+2901_1=1#0
      0002: 900_9+2901_1=1#0
      0003: 900_9+2901_1=1#0
      0004: 900_9+2901_1=1#0
      0005: 900_9+2901_1=1#0
      0006: 900_9+2901_1=1#0
      0007: 900_9+2901_1=1#0
      0008: 900_9+2901_1=1#0
      0009: 900_9+2901_1=1#0
      0010: 900_9+2901_1=1#0
      0011: 900_9+2901_1=1#0
      0012: 900_9+2901_1=1#0
      0013: 900_9+2901_1=1#0
      0014: 900_9+2901_1=1#0
      0015: 900_9+2901_1=1#0
      0016: 900_9+2901_1=1#0
      0017: 900_9+2901_1=1#0
      0018: 900_9+2901_1=1#0
      0019: 900_9+2901_1=1#0
      0020: 900_9+2901_1=1#0
      0021: 900_9+2901_1=1#0
      0022: 900_9+2901_1=1#0
      0023: 900_9+2901_1=1#0
      0024: 900_9+2901_1=1#0
      0025: 900_9+2901_1=1#0
      0026: 900_9+2901_1=1#0
      0027: 900_9+2901_1=1#0
      0028: 900_9+2901_1=1#0
      0029: 900_9+2901_1=1#0
      0030: 900_9+2901_1=1#0
      0031: 900_9+2901_1=1#0
      0032: 900_9+2901_1=1#0
      0033: 900_9+2901_1=1#0
      0034: 900_9+2901_1=1#0
      0035: 900_9+2901_1=1#0
      0036: 900_9+2901_1=1#0
      0037: 900_9+2901_1=1#0
      0038: 900_9+2901_1=1#0
      0039: 900_9+2901_1=1#0
      0040: 900_9+2901_1=1#0
      0041: 900_9+2901_1=1#0
      0042: 900_9+2901_1=1#0
      0043: 900_9+2901_1=1#0
      0044: 900_9+2901_1=1#0
      0045: 900_9+2901_1=1#0
      0046: 900_9+2901_1=1#0
      0047: 900_9+2901_1=1#0
      0048: 900_9+2901_1=1#0
      0049: 900_9+2901_1=1#0
      0050: 900_9+2901_1=1#0
      0051: 900_9+2901_1=1#0
      0052: 900_9+2901_1=1#0
      0053: 900_9+2901_1=1#0
      0054: 900_9+2901_1=1#0
      0055: 900_9+2901_1=1#0
      0056: 900_9+2901_1=1#0
      0057: 900_9+2901_1=1#0
      0058: 900_9+2901_1=1#0
      0059: 900_9+2901_1=1#0
      0060: 900_9+2901_1=1#0
      0061: 900_9+2901_1=1#0
      0062: 900_9+2901_1=1#0
      0063: 900_9+2901_1=1#0
      0064: 900_9+2901_1=1#0
      0065: 900_9+2901_1=1#0
      0066: 900_9+2901_1=1#0
      0067: 900_9+2901_1=1#0
      0068: 900_9+2901_1=1#0
      0069: 900_9+2901_1=1#0
      0070: 900_9+2901_1=1#0
      0071: 900_9+2901_1=1#0
      0072: 900_9+2901_1=1#0
      0073: 900_9+2901_1=1#0
      0074: 900_9+2901_1=1#0
      0075: 900_9+2901_1=1#0
      0076: 900_9+2901_1=1#0
      0077: 900_9+2901_1=1#0
      0078: 900_9+2901_1=1#0
      0079: 900_9+2901_1=1#0
      0080: 900_9+2901_1=1#0
      0081: 900_9+2901_1=1#0
      0082: 900_9+2901_1=1#0
      0083: 900_9+2901_1=1#0
      0084: 900_9+2901_1=1#0
      0085: 900_9+2901_1=1#0
      0086: 900_9+2901_1=1#0
      0087: 900_9+2901_1=1#0
      0088: 900_9+2901_1=1#0
      0089: 900_9+2901_1=1#0
      0090: 900_9+2901_1=1#0
      0091: 900_9+2901_1=1#0
      0092: 900_9+2901_1=1#0
      0093: 900_9+2901_1=1#0
      0094: 900_9+2901_1=1#0
      0095: 900_9+2901_1=1#0
      0096: 900_9+2901_1=1#0
      0097: 900_9+2901_1=1#0
      0098: 900_9+2901_1=1#0
      0099: 900_9+2901_1=1#0
      0100: 90_09+290_11=1#0
      0101: 90_09+290_11=1#0
          : 90_09+290_11=1#0
      0000: 90_09+290_11=01#0
      0001: 90_09+290_11=01#0
      0002: 90_09+290_11=01#0
      0003: 90_09+290_11=01#0
      0004: 90_09+290_11=01#0
      0005: 90_09+290_11=01#0
      0006: 90_09+290_11=01#0
      0007: 90_09+290_11=01#0
      0008: 90_09+290_11=01#0
      0009: 90_09+290_11=01#0
      0010: 90_09+290_11=01#0
      0011: 90_09+290_11=01#0
      0012: 90_09+290_11=01#0
      0013: 90_09+290_11=01#0
      0014: 90_09+290_11=01#0
      0015: 90_09+290_11=01#0
      0016: 90_09+290_11=01#0
      0017: 90_09+290_11=01#0
      0018: 90_09+290_11=01#0
      0019: 90_09+290_11=01#0
      0020: 90_09+290_11=01#0
      0021: 90_09+290_11=01#0
      0022: 90_09+290_11=01#0
      0023: 90_09+290_11=01#0
      0024: 90_09+290_11=01#0
      0025: 90_09+290_11=01#0
      0026: 90_09+290_11=01#0
      0027: 90_09+290_11=01#0
      0028: 90_09+290_11=01#0
      0029: 90_09+290_11=01#0
      0030: 90_09+290_11=01#0
      0031: 90_09+290_11=01#0
      0032: 90_09+290_11=01#0
      0033: 90_09+290_11=01#0
      0034: 90_09+290_11=01#0
      0035: 90_09+290_11=01#0
      0036: 90_09+290_11=01#0
      0037: 90_09+290_11=01#0
      0038: 90_09+290_11=01#0
      0039: 90_09+290_11=01#0
      0040: 90_09+290_11=01#0
      0041: 90_09+290_11=01#0
      0042: 90_09+290_11=01#0
      0043: 90_09+290_11=01#0
      0044: 90_09+290_11=01#0
      0045: 90_09+290_11=01#0
      0046: 90_09+290_11=01#0
      0047: 90_09+290_11=01#0
      0048: 90_09+290_11=01#0
      0049: 90_09+290_11=01#0
      0050: 90_09+290_11=01#0
      0051: 90_09+290_11=01#0
      0052: 90_09+290_11=01#0
      0053: 90_09+290_11=01#0
      0054: 90_09+290_11=01#0
      0055: 90_09+290_11=01#0
      0056: 90_09+290_11=01#0
      0057: 90_09+290_11=01#0
      0058: 90_09+290_11=01#0
      0059: 90_09+290_11=01#0
      0060: 90_09+290_11=01#0
      0061: 90_09+290_11=01#0
      0062: 90_09+290_11=01#0
      0063: 90_09+290_11=01#0
      0064: 90_09+290_11=01#0
      0065: 90_09+290_11=01#0
      0066: 90_09+290_11=01#0
      0067: 90_09+290_11=01#0
      0068: 90_09+290_11=01#0
      0069: 90_09+290_11=01#0
      0070: 90_09+290_11=01#0
      0071: 90_09+290_11=01#0
      0072: 90_09+290_11=01#0
      0073: 90_09+290_11=01#0
      0074: 90_09+290_11=01#0
      0075: 90_09+290_11=01#0
      0076: 90_09+290_11=01#0
      0077: 90_09+290_11=01#0
      0078: 90_09+290_11=01#0
      0079: 90_09+290_11=01#0
      0080: 90_09+290_11=01#0
      0081: 90_09+290_11=01#0
      0082: 90_09+290_11=01#0
      0083: 90_09+290_11=01#0
      0084: 90_09+290_11=01#0
      0085: 90_09+290_11=01#0
      0086: 90_09+290_11=01#0
      0087: 90_09+290_11=01#0
      0088: 90_09+290_11=01#0
      0089: 90_09+290_11=01#0
      0090: 90_09+290_11=01#0
      0091: 90_09+290_11=01#0
      0092: 90_09+290_11=01#0
      0093: 90_09+290_11=01#0
      0094: 90_09+290_11=01#0
      0095: 90_09+290_11=01#0
      0096: 90_09+290_11=01#0
      0097: 90_09+290_11=01#0
      0098: 90_09+290_11=01#0
      0099: 90_09+290_11=01#0
      0100: 9_009+29_011=01#0
      0101: 9_009+29_011=01#0
          : 9_009+29_011=01#0
      0000: 9_009+29_011=01#0
      0001: 9_009+29_011=01#0
      0002: 9_009+29_011=01#0
      0003: 9_009+29_011=01#0
      0004: 9_009+29_011=01#0
      0005: 9_009+29_011=01#0
      0006: 9_009+29_011=01#0
      0007: 9_009+29_011=01#0
      0008: 9_009+29_011=01#0
      0009: 9_009+29_011=01#0
      0010: 9_009+29_011=01#0
      0011: 9_009+29_011=01#0
      0012: 9_009+29_011=01#0
      0013: 9_009+29_011=01#0
      0014: 9_009+29_011=01#0
      0015: 9_009+29_011=01#0
      0016: 9_009+29_011=01#0
      0017: 9_009+29_011=01#0
      0018: 9_009+29_011=01#0
      0019: 9_009+29_011=01#0
      0020: 9_009+29_011=01#0
      0021: 9_009+29_011=01#0
      0022: 9_009+29_011=01#0
      0023: 9_009+29_011=01#0
      0024: 9_009+29_011=01#0
      0025: 9_009+29_011=01#0
      0026: 9_009+29_011=01#0
      0027: 9_009+29_011=01#0
      0028: 9_009+29_011=01#0
      0029: 9_009+29_011=01#0
      0030: 9_009+29_011=01#0
      0031: 9_009+29_011=01#0
      0032: 9_009+29_011=01#0
      0033: 9_009+29_011=01#0
      0034: 9_009+29_011=01#0
      0035: 9_009+29_011=01#0
      0036: 9_009+29_011=01#0
      0037: 9_009+29_011=01#0
      0038: 9_009+29_011=01#0
      0039: 9_009+29_011=01#0
      0040: 9_009+29_011=01#0
      0041: 9_009+29_011=01#0
      0042: 9_009+29_011=01#0
      0043: 9_009+29_011=01#0
      0044: 9_009+29_011=01#0
      0045: 9_009+29_011=01#0
      0046: 9_009+29_011=01#0
      0047: 9_009+29_011=01#0
      0048: 9_009+29_011=01#0
      0049: 9_009+29_011=01#0
      0050: 9_009+29_011=01#0
      0051: 9_009+29_011=01#0
      0052: 9_009+29_011=01#0
      0053: 9_009+29_011=01#0
      0054: 9_009+29_011=01#0
      0055: 9_009+29_011=01#0
      0056: 9_009+29_011=01#0
      0057: 9_009+29_011=01#0
      0058: 9_009+29_011=01#0
      0059: 9_009+29_011=01#0
      0060: 9_009+29_011=01#0
      0061: 9_009+29_011=01#0
      0062: 9_009+29_011=01#0
      0063: 9_009+29_011=01#0
      0064: 9_009+29_011=01#0
      0065: 9_009+29_011=01#0
      0066: 9_009+29_011=01#0
      0067: 9_009+29_011=01#0
      0068: 9_009+29_011=01#0
      0069: 9_009+29_011=01#0
      0070: 9_009+29_011=01#0
      0071: 9_009+29_011=01#0
      0072: 9_009+29_011=01#0
      0073: 9_009+29_011=01#0
      0074: 9_009+29_011=01#0
      0075: 9_009+29_011=01#0
      0076: 9_009+29_011=01#0
      0077: 9_009+29_011=01#0
      0078: 9_009+29_011=01#0
      0079: 9_009+29_011=01#0
      0080: 9_009+29_011=01#0
      0081: 9_009+29_011=01#0
      0082: 9_009+29_011=01#0
      0083: 9_009+29_011=01#0
      0084: 9_009+29_011=01#0
      0085: 9_009+29_011=01#0
      0086: 9_009+29_011=01#0
      0087: 9_009+29_011=01#0
      0088: 9_009+29_011=01#0
      0089: 9_009+29_011=01#0
      0090: 9_009+29_011=01#0
      0091: 9_009+29_011=01#0
      0092: 9_009+29_011=01#0
      0093: 9_009+29_011=01#0
      0094: 9_009+29_011=01#0
      0095: 9_009+29_011=01#0
      0096: 9_009+29_011=01#0
      0097: 9_009+29_011=01#0
      0098: 9_009+29_011=01#0
      0099: 9_009+29_011=#801#0
      0100: _9009+2_9011=#801#0
      0101: _9009+2_9011=#801#0
          : _9009+2_9011=#801#0
      0000: _9009+2_9011=#801#0
      0001: _9009+2_9011=#801#0
      0002: _9009+2_9011=2#801#0
      0003: _9009+2_9011=2#801#0
      0004: _9009+2_9011=2#801#0
      0005: _9009+2_9011=2#801#0
      0006: _9009+2_9011=2#801#0
      0007: _9009+2_9011=2#801#0
      0008: _9009+2_9011=2#801#0
      0009: _9009+2_9011=2#801#0
      0010: _9009+2_9011=2#801#0
      0011: _9009+2_9011=2#801#0
      0012: _9009+2_9011=2#801#0
      0013: _9009+2_9011=2#801#0
      0014: _9009+2_9011=2#801#0
      0015: _9009+2_9011=2#801#0
      0016: _9009+2_9011=2#801#0
      0017: _9009+2_9011=2#801#0
      0018: _9009+2_9011=2#801#0
      0019: _9009+2_9011=2#801#0
      0020: _9009+2_9011=2#801#0
      0021: _9009+2_9011=2#801#0
      0022: _9009+2_9011=2#801#0
      0023: _9009+2_9011=2#801#0
      0024: _9009+2_9011=2#801#0
      0025: _9009+2_9011=2#801#0
      0026: _9009+2_9011=2#801#0
      0027: _9009+2_9011=2#801#0
      0028: _9009+2_9011=2#801#0
      0029: _9009+2_9011=2#801#0
      0030: _9009+2_9011=2#801#0
      0031: _9009+2_9011=2#801#0
      0032: _9009+2_9011=2#801#0
      0033: _9009+2_9011=2#801#0
      0034: _9009+2_9011=2#801#0
      0035: _9009+2_9011=2#801#0
      0036: _9009+2_9011=2#801#0
      0037: _9009+2_9011=2#801#0
      0038: _9009+2_9011=2#801#0
      0039: _9009+2_9011=2#801#0
      0040: _9009+2_9011=2#801#0
      0041: _9009+2_9011=2#801#0
      0042: _9009+2_9011=2#801#0
      0043: _9009+2_9011=2#801#0
      0044: _9009+2_9011=2#801#0
      0045: _9009+2_9011=2#801#0
      0046: _9009+2_9011=2#801#0
      0047: _9009+2_9011=2#801#0
      0048: _9009+2_9011=2#801#0
      0049: _9009+2_9011=2#801#0
      0050: _9009+2_9011=2#801#0
      0051: _9009+2_9011=2#801#0
      0052: _9009+2_9011=2#801#0
      0053: _9009+2_9011=2#801#0
      0054: _9009+2_9011=2#801#0
      0055: _9009+2_9011=2#801#0
      0056: _9009+2_9011=2#801#0
      0057: _9009+2_9011=2#801#0
      0058: _9009+2_9011=2#801#0
      0059: _9009+2_9011=2#801#0
      0060: _9009+2_9011=2#801#0
      0061: _9009+2_9011=2#801#0
      0062: _9009+2_9011=2#801#0
      0063: _9009+2_9011=2#801#0
      0064: _9009+2_9011=2#801#0
      0065: _9009+2_9011=2#801#0
      0066: _9009+2_9011=2#801#0
      0067: _9009+2_9011=2#801#0
      0068: _9009+2_9011=2#801#0
      0069: _9009+2_9011=2#801#0
      0070: _9009+2_9011=2#801#0
      0071: _9009+2_9011=2#801#0
      0072: _9009+2_9011=2#801#0
      0073: _9009+2_9011=2#801#0
      0074: _9009+2_9011=2#801#0
      0075: _9009+2_9011=2#801#0
      0076: _9009+2_9011=2#801#0
      0077: _9009+2_9011=2#801#0
      0078: _9009+2_9011=2#801#0
      0079: _9009+2_9011=2#801#0
      0080: _9009+2_9011=2#801#0
      0081: _9009+2_9011=2#801#0
      0082: _9009+2_9011=2#801#0
      0083: _9009+2_9011=2#801#0
      0084: _9009+2_9011=2#801#0
      0085: _9009+2_9011=2#801#0
      0086: _9009+2_9011=2#801#0
      0087: _9009+2_9011=2#801#0
      0088: _9009+2_9011=2#801#0
      0089: _9009+2_9011=2#801#0
      0090: _9009+2_9011=2#801#0
      0091: _9009+2_9011=2#801#0
      0092: _9009+2_9011=2#801#0
      0093: _9009+2_9011=2#801#0
      0094: _9009+2_9011=2#801#0
      0095: _9009+2_9011=2#801#0
      0096: _9009+2_9011=2#801#0
      0097: _9009+2_9011=2#801#0
      0098: _9009+2_9011=2#801#0
      0099: _9009+2_9011=2#801#0
      0100: _9009+_29011=2#801#0
      0101: 9009+29011=2#801#0
          : 9009+29011=2#801#0
      0000: 9009+29011=2#801#0
      0001: 9009+29011=2#801#0
      0002: 9009+29011=2#801#0
      0003: 9009+29011=2#801#0
      0004: 9009+29011=2#801#0
      0005: 9009+29011=2#801#0
      0006: 9009+29011=2#801#0
      0007: 9009+29011=2#801#0
      0008: 9009+29011=2#801#0
      0009: 9009+29011=2#801#0
      0010: 9009+29011=2#801#0
      0011: 9009+29011=2#801#0
      0012: 9009+29011=2#801#0
      0013: 9009+29011=2#801#0
      0014: 9009+29011=2#801#0
      0015: 9009+29011=2#801#0
      0016: 9009+29011=2#801#0
      0017: 9009+29011=2#801#0
      0018: 9009+29011=2#801#0
      0019: 9009+29011=2#801#0
      0020: 9009+29011=2#801#0
      0021: 9009+29011=2#801#0
      0022: 9009+29011=2#801#0
      0023: 9009+29011=2#801#0
      0024: 9009+29011=2#801#0
      0025: 9009+29011=2#801#0
      0026: 9009+29011=2#801#0
      0027: 9009+29011=2#801#0
      0028: 9009+29011=2#801#0
      0029: 9009+29011=2#801#0
      0030: 9009+29011=2#801#0
      0031: 9009+29011=2#801#0
      0032: 9009+29011=2#801#0
      0033: 9009+29011=2#801#0
      0034: 9009+29011=2#801#0
      0035: 9009+29011=2#801#0
      0036: 9009+29011=2#801#0
      0037: 9009+29011=2#801#0
      0038: 9009+29011=2#801#0
      0039: 9009+29011=2#801#0
      0040: 9009+29011=2#801#0
      0041: 9009+29011=2#801#0
      0042: 9009+29011=2#801#0
      0043: 9009+29011=2#801#0
      0044: 9009+29011=2#801#0
      0045: 9009+29011=2#801#0
      0046: 9009+29011=2#801#0
      0047: 9009+29011=2#801#0
      0048: 9009+29011=2#801#0
      0049: 9009+29011=2#801#0
      0050: 9009+29011=2#801#0
      0051: 9009+29011=2#801#0
      0052: 9009+29011=2#801#0
      0053: 9009+29011=2#801#0
      0054: 9009+29011=2#801#0
      0055: 9009+29011=2#801#0
      0056: 9009+29011=2#801#0
      0057: 9009+29011=2#801#0
      0058: 9009+29011=2#801#0
      0059: 9009+29011=2#801#0
      0060: 9009+29011=2#801#0
      0061: 9009+29011=2#801#0
      0062: 9009+29011=2#801#0
      0063: 9009+29011=2#801#0
      0064: 9009+29011=2#801#0
      0065: 9009+29011=2#801#0
      0066: 9009+29011=2#801#0
      0067: 9009+29011=2#801#0
      0068: 9009+29011=2#801#0
      0069: 9009+29011=2#801#0
      0070: 9009+29011=2#801#0
      0071: 9009+29011=2#801#0
      0072: 9009+29011=2#801#0
      0073: 9009+29011=2#801#0
      0074: 9009+29011=2#801#0
      0075: 9009+29011=2#801#0
      0076: 9009+29011=2#801#0
      0077: 9009+29011=2#801#0
      0078: 9009+29011=2#801#0
      0079: 9009+29011=2#801#0
      0080: 9009+29011=2#801#0
      0081: 9009+29011=2#801#0
      0082: 9009+29011=2#801#0
      0083: 9009+29011=2#801#0
      0084: 9009+29011=2#801#0
      0085: 9009+29011=2#801#0
      0086: 9009+29011=2#801#0
      0087: 9009+29011=2#801#0
      0088: 9009+29011=2#801#0
      0089: 9009+29011=2#801#0
      0090: 9009+29011=2#801#0
      0091: 9009+29011=2#801#0
      0092: 9009+29011=2#801#0
      0093: 9009+29011=2#801#0
      0094: 9009+29011=2#801#0
      0095: 9009+29011=2#801#0
      0096: 9009+29011=2#801#0
      0097: 9009+29011=2#801#0
      0098: 9009+29011=2#801#0
      0099: 9009+29011=2#801#0
      0100: 9009+29011=2#801#0
      0101: 9009+29011=2#801#0
          : 9009+29011=2#801#0
      converged


      ================ post ================
      0000: 9009+29011=2#801#0
      0001: 9009+29011=2#8020
      0002: 9009+29011=38020
      0003: 9009+29011=38020
      0004: 9009+29011=38020
      0005: 9009+29011=38020
      0006: 9009+29011=38020
      0007: 9009+29011=38020
      0008: 9009+29011=38020
      0009: 9009+29011=38020
      0010: 9009+29011=38020
          : 9009+29011=38020
      0000: 9009+29011=38020
      0001: 9009+29011=38020
      0002: 9009+29011=38020
      0003: 9009+29011=38020
      0004: 9009+29011=38020
      0005: 9009+29011=38020
      0006: 9009+29011=38020
      0007: 9009+29011=38020
      0008: 9009+29011=38020
      0009: 9009+29011=38020
      0010: 9009+29011=38020
          : 9009+29011=38020
      converged


      9009+29011=38020
      9009+29011=38020

じりじりポインタが上がっていくのがかっこいいでしょ?