エクストリーム正規表現入門

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

正規表現入門はこちら

 

813.hatenablog.com

 

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

めう「できるめう」

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

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

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

めう「

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

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

f:id:DCCCXIII:20161213235212p:plain

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

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